diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { 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 a2ed62a..767f52c 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -153,7 +153,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } }).build().show() } @@ -172,7 +172,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } override fun onCancelClick() { @@ -279,7 +279,7 @@ } private fun getDeviceListByPage() { - groupViewModel.getDeviceListByPage(groupId, order, page) + groupViewModel.getDeviceListByPage(this, groupId, order, page) } private val swipeAction = @@ -295,7 +295,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } override fun getSwipeDirection( @@ -333,7 +333,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } }).build().show() } diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { 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 a2ed62a..767f52c 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -153,7 +153,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } }).build().show() } @@ -172,7 +172,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } override fun onCancelClick() { @@ -279,7 +279,7 @@ } private fun getDeviceListByPage() { - groupViewModel.getDeviceListByPage(groupId, order, page) + groupViewModel.getDeviceListByPage(this, groupId, order, page) } private val swipeAction = @@ -295,7 +295,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } override fun getSwipeDirection( @@ -333,7 +333,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } }).build().show() } diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index 75ad5c1..d17f773 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -96,7 +96,7 @@ } } } - deviceViewModel.getMapDeviceList() + deviceViewModel.getMapDeviceList(this) groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] groupViewModel.groupDeviceModel.observe(this) { @@ -131,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - groupViewModel.getDeviceListByGroup(groupId) + groupViewModel.getDeviceListByGroup(this, groupId) } override fun initEvent() { @@ -212,8 +212,7 @@ if (clicked.latitude == device.latGaode!!.toDouble() && clicked.longitude == device.lngGaode!!.toDouble()) { deviceCodeView.text = String.format("设备编号: ${device.devcode}") deviceModelView.text = String.format("设备模型: ${device.modelName}") - //获取设备最新浓度信息 - deviceViewModel.obtainTubeLastData(device.groupId, device.devcode) + deviceViewModel.lastDataModel.observe(this) { if (it.code == 200) { deviceValueView.text = String.format("最新浓度: ${it.data.strength}") @@ -223,6 +222,9 @@ updateTimeView.text = String.format("更新时间: 未知") } } + //获取设备最新浓度信息 + deviceViewModel.getTubeLastData(context, device.groupId, device.devcode) + if (device.latGaode.isBlank() || device.lngGaode.isBlank()) { locationView.text = "经纬度异常,无法查看具体位置" } else { diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { 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 a2ed62a..767f52c 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -153,7 +153,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } }).build().show() } @@ -172,7 +172,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } override fun onCancelClick() { @@ -279,7 +279,7 @@ } private fun getDeviceListByPage() { - groupViewModel.getDeviceListByPage(groupId, order, page) + groupViewModel.getDeviceListByPage(this, groupId, order, page) } private val swipeAction = @@ -295,7 +295,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } override fun getSwipeDirection( @@ -333,7 +333,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } }).build().show() } diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index 75ad5c1..d17f773 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -96,7 +96,7 @@ } } } - deviceViewModel.getMapDeviceList() + deviceViewModel.getMapDeviceList(this) groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] groupViewModel.groupDeviceModel.observe(this) { @@ -131,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - groupViewModel.getDeviceListByGroup(groupId) + groupViewModel.getDeviceListByGroup(this, groupId) } override fun initEvent() { @@ -212,8 +212,7 @@ if (clicked.latitude == device.latGaode!!.toDouble() && clicked.longitude == device.lngGaode!!.toDouble()) { deviceCodeView.text = String.format("设备编号: ${device.devcode}") deviceModelView.text = String.format("设备模型: ${device.modelName}") - //获取设备最新浓度信息 - deviceViewModel.obtainTubeLastData(device.groupId, device.devcode) + deviceViewModel.lastDataModel.observe(this) { if (it.code == 200) { deviceValueView.text = String.format("最新浓度: ${it.data.strength}") @@ -223,6 +222,9 @@ updateTimeView.text = String.format("更新时间: 未知") } } + //获取设备最新浓度信息 + deviceViewModel.getTubeLastData(context, device.groupId, device.devcode) + if (device.latGaode.isBlank() || device.lngGaode.isBlank()) { locationView.text = "经纬度异常,无法查看具体位置" } else { 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 e58c030..9e5204d 100644 --- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt @@ -27,6 +27,7 @@ class HistoryDataActivity : KotlinBaseActivity() { private val kTag = "HistoryDataActivity" + private val context = this private lateinit var deviceViewModel: DeviceViewModel private lateinit var groupId: String private lateinit var devCode: String @@ -70,8 +71,8 @@ when (position) { 0 -> { //本年度 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, "$year-01-01", time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, "$year-01-01", time.timestampToCompleteDate() ) } @@ -84,14 +85,15 @@ 4 -> "$year-10-01" else -> "" } - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, time.timestampToCompleteDate() ) } 2 -> { //近30日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastMonthDate(), @@ -101,7 +103,8 @@ 3 -> { //近7日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastWeekDate(), @@ -111,8 +114,12 @@ 4 -> { //今日 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, time.timestampToDate(), time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, + groupId, + devCode, + time.timestampToDate(), + time.timestampToCompleteDate() ) } @@ -122,8 +129,8 @@ .setPositiveButton("选好了").setOnDialogButtonClickListener(object : DateSelectDialog.OnDialogButtonClickListener { override fun onConfirmClick(startDate: String, endDate: String) { - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, endDate + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, endDate ) } diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { 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 a2ed62a..767f52c 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -153,7 +153,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } }).build().show() } @@ -172,7 +172,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } override fun onCancelClick() { @@ -279,7 +279,7 @@ } private fun getDeviceListByPage() { - groupViewModel.getDeviceListByPage(groupId, order, page) + groupViewModel.getDeviceListByPage(this, groupId, order, page) } private val swipeAction = @@ -295,7 +295,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } override fun getSwipeDirection( @@ -333,7 +333,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } }).build().show() } diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index 75ad5c1..d17f773 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -96,7 +96,7 @@ } } } - deviceViewModel.getMapDeviceList() + deviceViewModel.getMapDeviceList(this) groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] groupViewModel.groupDeviceModel.observe(this) { @@ -131,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - groupViewModel.getDeviceListByGroup(groupId) + groupViewModel.getDeviceListByGroup(this, groupId) } override fun initEvent() { @@ -212,8 +212,7 @@ if (clicked.latitude == device.latGaode!!.toDouble() && clicked.longitude == device.lngGaode!!.toDouble()) { deviceCodeView.text = String.format("设备编号: ${device.devcode}") deviceModelView.text = String.format("设备模型: ${device.modelName}") - //获取设备最新浓度信息 - deviceViewModel.obtainTubeLastData(device.groupId, device.devcode) + deviceViewModel.lastDataModel.observe(this) { if (it.code == 200) { deviceValueView.text = String.format("最新浓度: ${it.data.strength}") @@ -223,6 +222,9 @@ updateTimeView.text = String.format("更新时间: 未知") } } + //获取设备最新浓度信息 + deviceViewModel.getTubeLastData(context, device.groupId, device.devcode) + if (device.latGaode.isBlank() || device.lngGaode.isBlank()) { locationView.text = "经纬度异常,无法查看具体位置" } else { 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 e58c030..9e5204d 100644 --- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt @@ -27,6 +27,7 @@ class HistoryDataActivity : KotlinBaseActivity() { private val kTag = "HistoryDataActivity" + private val context = this private lateinit var deviceViewModel: DeviceViewModel private lateinit var groupId: String private lateinit var devCode: String @@ -70,8 +71,8 @@ when (position) { 0 -> { //本年度 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, "$year-01-01", time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, "$year-01-01", time.timestampToCompleteDate() ) } @@ -84,14 +85,15 @@ 4 -> "$year-10-01" else -> "" } - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, time.timestampToCompleteDate() ) } 2 -> { //近30日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastMonthDate(), @@ -101,7 +103,8 @@ 3 -> { //近7日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastWeekDate(), @@ -111,8 +114,12 @@ 4 -> { //今日 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, time.timestampToDate(), time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, + groupId, + devCode, + time.timestampToDate(), + time.timestampToCompleteDate() ) } @@ -122,8 +129,8 @@ .setPositiveButton("选好了").setOnDialogButtonClickListener(object : DateSelectDialog.OnDialogButtonClickListener { override fun onConfirmClick(startDate: String, endDate: String) { - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, endDate + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, endDate ) } 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 7287bff..b854dee 100644 --- a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt @@ -18,6 +18,7 @@ class LoginActivity : KotlinBaseActivity() { + private val context = this private lateinit var authenticateViewModel: AuthenticateViewModel private lateinit var loginViewModel: LoginViewModel private lateinit var userViewModel: UserViewModel @@ -67,7 +68,7 @@ } SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account) SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword) - authenticateViewModel.obtainPublicKey() + authenticateViewModel.getPublicKey(this) } authenticateViewModel.keyModel.observe(this) { if (it.code == 200) {//用code判断,别的判断可能有坑 @@ -83,14 +84,14 @@ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!) //登录并获取Token,POST请求 - loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey) + loginViewModel.enter(context, it.data!!.sid!!, account, dataByPublicKey) loginViewModel.enterResultModel.observe(this) { loginResult -> if (loginResult.code == 200) { AuthenticationHelper.saveToken(loginResult.data!!.token!!) /** * 获取token之后保存用户信息 * */ - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() //验证成功登录 this.navigatePageTo() finish() diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { 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 a2ed62a..767f52c 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -153,7 +153,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } }).build().show() } @@ -172,7 +172,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } override fun onCancelClick() { @@ -279,7 +279,7 @@ } private fun getDeviceListByPage() { - groupViewModel.getDeviceListByPage(groupId, order, page) + groupViewModel.getDeviceListByPage(this, groupId, order, page) } private val swipeAction = @@ -295,7 +295,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } override fun getSwipeDirection( @@ -333,7 +333,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } }).build().show() } diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index 75ad5c1..d17f773 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -96,7 +96,7 @@ } } } - deviceViewModel.getMapDeviceList() + deviceViewModel.getMapDeviceList(this) groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] groupViewModel.groupDeviceModel.observe(this) { @@ -131,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - groupViewModel.getDeviceListByGroup(groupId) + groupViewModel.getDeviceListByGroup(this, groupId) } override fun initEvent() { @@ -212,8 +212,7 @@ if (clicked.latitude == device.latGaode!!.toDouble() && clicked.longitude == device.lngGaode!!.toDouble()) { deviceCodeView.text = String.format("设备编号: ${device.devcode}") deviceModelView.text = String.format("设备模型: ${device.modelName}") - //获取设备最新浓度信息 - deviceViewModel.obtainTubeLastData(device.groupId, device.devcode) + deviceViewModel.lastDataModel.observe(this) { if (it.code == 200) { deviceValueView.text = String.format("最新浓度: ${it.data.strength}") @@ -223,6 +222,9 @@ updateTimeView.text = String.format("更新时间: 未知") } } + //获取设备最新浓度信息 + deviceViewModel.getTubeLastData(context, device.groupId, device.devcode) + if (device.latGaode.isBlank() || device.lngGaode.isBlank()) { locationView.text = "经纬度异常,无法查看具体位置" } else { 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 e58c030..9e5204d 100644 --- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt @@ -27,6 +27,7 @@ class HistoryDataActivity : KotlinBaseActivity() { private val kTag = "HistoryDataActivity" + private val context = this private lateinit var deviceViewModel: DeviceViewModel private lateinit var groupId: String private lateinit var devCode: String @@ -70,8 +71,8 @@ when (position) { 0 -> { //本年度 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, "$year-01-01", time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, "$year-01-01", time.timestampToCompleteDate() ) } @@ -84,14 +85,15 @@ 4 -> "$year-10-01" else -> "" } - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, time.timestampToCompleteDate() ) } 2 -> { //近30日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastMonthDate(), @@ -101,7 +103,8 @@ 3 -> { //近7日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastWeekDate(), @@ -111,8 +114,12 @@ 4 -> { //今日 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, time.timestampToDate(), time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, + groupId, + devCode, + time.timestampToDate(), + time.timestampToCompleteDate() ) } @@ -122,8 +129,8 @@ .setPositiveButton("选好了").setOnDialogButtonClickListener(object : DateSelectDialog.OnDialogButtonClickListener { override fun onConfirmClick(startDate: String, endDate: String) { - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, endDate + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, endDate ) } 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 7287bff..b854dee 100644 --- a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt @@ -18,6 +18,7 @@ class LoginActivity : KotlinBaseActivity() { + private val context = this private lateinit var authenticateViewModel: AuthenticateViewModel private lateinit var loginViewModel: LoginViewModel private lateinit var userViewModel: UserViewModel @@ -67,7 +68,7 @@ } SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account) SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword) - authenticateViewModel.obtainPublicKey() + authenticateViewModel.getPublicKey(this) } authenticateViewModel.keyModel.observe(this) { if (it.code == 200) {//用code判断,别的判断可能有坑 @@ -83,14 +84,14 @@ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!) //登录并获取Token,POST请求 - loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey) + loginViewModel.enter(context, it.data!!.sid!!, account, dataByPublicKey) loginViewModel.enterResultModel.observe(this) { loginResult -> if (loginResult.code == 200) { AuthenticationHelper.saveToken(loginResult.data!!.token!!) /** * 获取token之后保存用户信息 * */ - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() //验证成功登录 this.navigatePageTo() finish() 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 7a8c8c8..50eced4 100644 --- a/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt @@ -45,7 +45,7 @@ private val countDownTimer = object : CountDownTimer(1000, 500) { override fun onFinish() { - userDetailViewModel.obtainUserDetail() + userDetailViewModel.getUserDetail() } override fun onTick(millisUntilFinished: Long) { diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { 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 a2ed62a..767f52c 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -153,7 +153,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } }).build().show() } @@ -172,7 +172,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } override fun onCancelClick() { @@ -279,7 +279,7 @@ } private fun getDeviceListByPage() { - groupViewModel.getDeviceListByPage(groupId, order, page) + groupViewModel.getDeviceListByPage(this, groupId, order, page) } private val swipeAction = @@ -295,7 +295,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } override fun getSwipeDirection( @@ -333,7 +333,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } }).build().show() } diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index 75ad5c1..d17f773 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -96,7 +96,7 @@ } } } - deviceViewModel.getMapDeviceList() + deviceViewModel.getMapDeviceList(this) groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] groupViewModel.groupDeviceModel.observe(this) { @@ -131,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - groupViewModel.getDeviceListByGroup(groupId) + groupViewModel.getDeviceListByGroup(this, groupId) } override fun initEvent() { @@ -212,8 +212,7 @@ if (clicked.latitude == device.latGaode!!.toDouble() && clicked.longitude == device.lngGaode!!.toDouble()) { deviceCodeView.text = String.format("设备编号: ${device.devcode}") deviceModelView.text = String.format("设备模型: ${device.modelName}") - //获取设备最新浓度信息 - deviceViewModel.obtainTubeLastData(device.groupId, device.devcode) + deviceViewModel.lastDataModel.observe(this) { if (it.code == 200) { deviceValueView.text = String.format("最新浓度: ${it.data.strength}") @@ -223,6 +222,9 @@ updateTimeView.text = String.format("更新时间: 未知") } } + //获取设备最新浓度信息 + deviceViewModel.getTubeLastData(context, device.groupId, device.devcode) + if (device.latGaode.isBlank() || device.lngGaode.isBlank()) { locationView.text = "经纬度异常,无法查看具体位置" } else { 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 e58c030..9e5204d 100644 --- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt @@ -27,6 +27,7 @@ class HistoryDataActivity : KotlinBaseActivity() { private val kTag = "HistoryDataActivity" + private val context = this private lateinit var deviceViewModel: DeviceViewModel private lateinit var groupId: String private lateinit var devCode: String @@ -70,8 +71,8 @@ when (position) { 0 -> { //本年度 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, "$year-01-01", time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, "$year-01-01", time.timestampToCompleteDate() ) } @@ -84,14 +85,15 @@ 4 -> "$year-10-01" else -> "" } - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, time.timestampToCompleteDate() ) } 2 -> { //近30日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastMonthDate(), @@ -101,7 +103,8 @@ 3 -> { //近7日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastWeekDate(), @@ -111,8 +114,12 @@ 4 -> { //今日 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, time.timestampToDate(), time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, + groupId, + devCode, + time.timestampToDate(), + time.timestampToCompleteDate() ) } @@ -122,8 +129,8 @@ .setPositiveButton("选好了").setOnDialogButtonClickListener(object : DateSelectDialog.OnDialogButtonClickListener { override fun onConfirmClick(startDate: String, endDate: String) { - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, endDate + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, endDate ) } 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 7287bff..b854dee 100644 --- a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt @@ -18,6 +18,7 @@ class LoginActivity : KotlinBaseActivity() { + private val context = this private lateinit var authenticateViewModel: AuthenticateViewModel private lateinit var loginViewModel: LoginViewModel private lateinit var userViewModel: UserViewModel @@ -67,7 +68,7 @@ } SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account) SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword) - authenticateViewModel.obtainPublicKey() + authenticateViewModel.getPublicKey(this) } authenticateViewModel.keyModel.observe(this) { if (it.code == 200) {//用code判断,别的判断可能有坑 @@ -83,14 +84,14 @@ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!) //登录并获取Token,POST请求 - loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey) + loginViewModel.enter(context, it.data!!.sid!!, account, dataByPublicKey) loginViewModel.enterResultModel.observe(this) { loginResult -> if (loginResult.code == 200) { AuthenticationHelper.saveToken(loginResult.data!!.token!!) /** * 获取token之后保存用户信息 * */ - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() //验证成功登录 this.navigatePageTo() finish() 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 7a8c8c8..50eced4 100644 --- a/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt @@ -45,7 +45,7 @@ private val countDownTimer = object : CountDownTimer(1000, 500) { override fun onFinish() { - userDetailViewModel.obtainUserDetail() + userDetailViewModel.getUserDetail() } override fun onTick(millisUntilFinished: Long) { diff --git a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt index e35983e..6127c1b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.AreaModel @@ -24,7 +24,7 @@ val districtModel = MutableLiveData() val streetModel = MutableLiveData() - fun obtainPublicKey() = launch({ + fun getPublicKey(context: Context) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.authenticate() val responseCode = response.separateResponseCode() @@ -33,7 +33,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -42,15 +42,15 @@ /** * 根据部门获取区ID */ - fun obtainAreaByDept(deptId: String) = launch({ - val response = RetrofitServiceManager.obtainAreaByDept(deptId) + fun getAreaByDept(context: Context, deptId: String) = launch({ + val response = RetrofitServiceManager.getAreaByDept(deptId) val responseCode = response.separateResponseCode() if (responseCode == 200) { areaModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -59,15 +59,15 @@ /** * 区/县等 */ - fun obtainDistrict(pid: String) = launch({ - val response = RetrofitServiceManager.obtainDistrict(pid) + fun getDistrict(context: Context, pid: String) = launch({ + val response = RetrofitServiceManager.getDistrict(pid) val responseCode = response.separateResponseCode() if (responseCode == 200) { districtModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -76,15 +76,15 @@ /** * 街道 */ - fun obtainStreet(areaId: String) = launch({ - val response = RetrofitServiceManager.obtainStreet(areaId) + fun getStreet(context: Context, areaId: String) = launch({ + val response = RetrofitServiceManager.getStreet(areaId) val responseCode = response.separateResponseCode() if (responseCode == 200) { streetModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { 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 a2ed62a..767f52c 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -153,7 +153,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } }).build().show() } @@ -172,7 +172,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } override fun onCancelClick() { @@ -279,7 +279,7 @@ } private fun getDeviceListByPage() { - groupViewModel.getDeviceListByPage(groupId, order, page) + groupViewModel.getDeviceListByPage(this, groupId, order, page) } private val swipeAction = @@ -295,7 +295,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } override fun getSwipeDirection( @@ -333,7 +333,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } }).build().show() } diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index 75ad5c1..d17f773 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -96,7 +96,7 @@ } } } - deviceViewModel.getMapDeviceList() + deviceViewModel.getMapDeviceList(this) groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] groupViewModel.groupDeviceModel.observe(this) { @@ -131,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - groupViewModel.getDeviceListByGroup(groupId) + groupViewModel.getDeviceListByGroup(this, groupId) } override fun initEvent() { @@ -212,8 +212,7 @@ if (clicked.latitude == device.latGaode!!.toDouble() && clicked.longitude == device.lngGaode!!.toDouble()) { deviceCodeView.text = String.format("设备编号: ${device.devcode}") deviceModelView.text = String.format("设备模型: ${device.modelName}") - //获取设备最新浓度信息 - deviceViewModel.obtainTubeLastData(device.groupId, device.devcode) + deviceViewModel.lastDataModel.observe(this) { if (it.code == 200) { deviceValueView.text = String.format("最新浓度: ${it.data.strength}") @@ -223,6 +222,9 @@ updateTimeView.text = String.format("更新时间: 未知") } } + //获取设备最新浓度信息 + deviceViewModel.getTubeLastData(context, device.groupId, device.devcode) + if (device.latGaode.isBlank() || device.lngGaode.isBlank()) { locationView.text = "经纬度异常,无法查看具体位置" } else { 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 e58c030..9e5204d 100644 --- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt @@ -27,6 +27,7 @@ class HistoryDataActivity : KotlinBaseActivity() { private val kTag = "HistoryDataActivity" + private val context = this private lateinit var deviceViewModel: DeviceViewModel private lateinit var groupId: String private lateinit var devCode: String @@ -70,8 +71,8 @@ when (position) { 0 -> { //本年度 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, "$year-01-01", time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, "$year-01-01", time.timestampToCompleteDate() ) } @@ -84,14 +85,15 @@ 4 -> "$year-10-01" else -> "" } - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, time.timestampToCompleteDate() ) } 2 -> { //近30日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastMonthDate(), @@ -101,7 +103,8 @@ 3 -> { //近7日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastWeekDate(), @@ -111,8 +114,12 @@ 4 -> { //今日 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, time.timestampToDate(), time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, + groupId, + devCode, + time.timestampToDate(), + time.timestampToCompleteDate() ) } @@ -122,8 +129,8 @@ .setPositiveButton("选好了").setOnDialogButtonClickListener(object : DateSelectDialog.OnDialogButtonClickListener { override fun onConfirmClick(startDate: String, endDate: String) { - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, endDate + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, endDate ) } 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 7287bff..b854dee 100644 --- a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt @@ -18,6 +18,7 @@ class LoginActivity : KotlinBaseActivity() { + private val context = this private lateinit var authenticateViewModel: AuthenticateViewModel private lateinit var loginViewModel: LoginViewModel private lateinit var userViewModel: UserViewModel @@ -67,7 +68,7 @@ } SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account) SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword) - authenticateViewModel.obtainPublicKey() + authenticateViewModel.getPublicKey(this) } authenticateViewModel.keyModel.observe(this) { if (it.code == 200) {//用code判断,别的判断可能有坑 @@ -83,14 +84,14 @@ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!) //登录并获取Token,POST请求 - loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey) + loginViewModel.enter(context, it.data!!.sid!!, account, dataByPublicKey) loginViewModel.enterResultModel.observe(this) { loginResult -> if (loginResult.code == 200) { AuthenticationHelper.saveToken(loginResult.data!!.token!!) /** * 获取token之后保存用户信息 * */ - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() //验证成功登录 this.navigatePageTo() finish() 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 7a8c8c8..50eced4 100644 --- a/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt @@ -45,7 +45,7 @@ private val countDownTimer = object : CountDownTimer(1000, 500) { override fun onFinish() { - userDetailViewModel.obtainUserDetail() + userDetailViewModel.getUserDetail() } override fun onTick(millisUntilFinished: Long) { diff --git a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt index e35983e..6127c1b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.AreaModel @@ -24,7 +24,7 @@ val districtModel = MutableLiveData() val streetModel = MutableLiveData() - fun obtainPublicKey() = launch({ + fun getPublicKey(context: Context) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.authenticate() val responseCode = response.separateResponseCode() @@ -33,7 +33,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -42,15 +42,15 @@ /** * 根据部门获取区ID */ - fun obtainAreaByDept(deptId: String) = launch({ - val response = RetrofitServiceManager.obtainAreaByDept(deptId) + fun getAreaByDept(context: Context, deptId: String) = launch({ + val response = RetrofitServiceManager.getAreaByDept(deptId) val responseCode = response.separateResponseCode() if (responseCode == 200) { areaModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -59,15 +59,15 @@ /** * 区/县等 */ - fun obtainDistrict(pid: String) = launch({ - val response = RetrofitServiceManager.obtainDistrict(pid) + fun getDistrict(context: Context, pid: String) = launch({ + val response = RetrofitServiceManager.getDistrict(pid) val responseCode = response.separateResponseCode() if (responseCode == 200) { districtModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -76,15 +76,15 @@ /** * 街道 */ - fun obtainStreet(areaId: String) = launch({ - val response = RetrofitServiceManager.obtainStreet(areaId) + fun getStreet(context: Context, areaId: String) = launch({ + val response = RetrofitServiceManager.getStreet(areaId) val responseCode = response.separateResponseCode() if (responseCode == 200) { streetModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt index 4466dd8..66f235b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -26,7 +26,7 @@ val lastDataModel = MutableLiveData() val deleteResult = MutableLiveData() - fun getMapDeviceList() = launch({ + fun getMapDeviceList(context: Context) = launch({ val response = RetrofitServiceManager.getMapDeviceList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -34,15 +34,15 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun obtainDeviceDetail(groupId: String, tubeId: String) = launch({ + fun getDeviceDetail(context: Context, groupId: String, tubeId: String) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.obtainDeviceDetail(groupId, tubeId) + val response = RetrofitServiceManager.getDeviceDetail(groupId, tubeId) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -51,14 +51,15 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun obtainDeviceHistoryData( + fun getDeviceHistoryData( + context: Context, groupId: String, devcode: String, beginTime: String?, @@ -66,7 +67,7 @@ ) = launch({ loadState.value = LoadState.Loading val response = - RetrofitServiceManager.obtainDeviceHistoryData(groupId, devcode, beginTime, endTime) + RetrofitServiceManager.getDeviceHistoryData(groupId, devcode, beginTime, endTime) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -75,26 +76,28 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun obtainTubeLastData(groupId: String, devcode: String) = launch({ - val response = RetrofitServiceManager.obtainTubeLastData(groupId, devcode) + fun getTubeLastData(context: Context, groupId: String, devcode: String) = launch({ + val response = RetrofitServiceManager.getTubeLastData(groupId, devcode) when (response.separateResponseCode()) { 200 -> { lastDataModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } + 500 -> { lastDataModel.value = LastDataModel() } + else -> { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } } }, { @@ -103,6 +106,7 @@ }) fun addDevice( + context: Context, deviceCode: String, deviceName: String, ownerShip: String, @@ -134,14 +138,14 @@ loadState.value = LoadState.Success } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun deleteDeviceById(ids: List) = launch({ + fun deleteDeviceById(context: Context, ids: List) = launch({ val response = RetrofitServiceManager.deleteDeviceById(ids) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -149,7 +153,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { 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 a2ed62a..767f52c 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -153,7 +153,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } }).build().show() } @@ -172,7 +172,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } override fun onCancelClick() { @@ -279,7 +279,7 @@ } private fun getDeviceListByPage() { - groupViewModel.getDeviceListByPage(groupId, order, page) + groupViewModel.getDeviceListByPage(this, groupId, order, page) } private val swipeAction = @@ -295,7 +295,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } override fun getSwipeDirection( @@ -333,7 +333,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } }).build().show() } diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index 75ad5c1..d17f773 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -96,7 +96,7 @@ } } } - deviceViewModel.getMapDeviceList() + deviceViewModel.getMapDeviceList(this) groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] groupViewModel.groupDeviceModel.observe(this) { @@ -131,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - groupViewModel.getDeviceListByGroup(groupId) + groupViewModel.getDeviceListByGroup(this, groupId) } override fun initEvent() { @@ -212,8 +212,7 @@ if (clicked.latitude == device.latGaode!!.toDouble() && clicked.longitude == device.lngGaode!!.toDouble()) { deviceCodeView.text = String.format("设备编号: ${device.devcode}") deviceModelView.text = String.format("设备模型: ${device.modelName}") - //获取设备最新浓度信息 - deviceViewModel.obtainTubeLastData(device.groupId, device.devcode) + deviceViewModel.lastDataModel.observe(this) { if (it.code == 200) { deviceValueView.text = String.format("最新浓度: ${it.data.strength}") @@ -223,6 +222,9 @@ updateTimeView.text = String.format("更新时间: 未知") } } + //获取设备最新浓度信息 + deviceViewModel.getTubeLastData(context, device.groupId, device.devcode) + if (device.latGaode.isBlank() || device.lngGaode.isBlank()) { locationView.text = "经纬度异常,无法查看具体位置" } else { 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 e58c030..9e5204d 100644 --- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt @@ -27,6 +27,7 @@ class HistoryDataActivity : KotlinBaseActivity() { private val kTag = "HistoryDataActivity" + private val context = this private lateinit var deviceViewModel: DeviceViewModel private lateinit var groupId: String private lateinit var devCode: String @@ -70,8 +71,8 @@ when (position) { 0 -> { //本年度 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, "$year-01-01", time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, "$year-01-01", time.timestampToCompleteDate() ) } @@ -84,14 +85,15 @@ 4 -> "$year-10-01" else -> "" } - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, time.timestampToCompleteDate() ) } 2 -> { //近30日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastMonthDate(), @@ -101,7 +103,8 @@ 3 -> { //近7日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastWeekDate(), @@ -111,8 +114,12 @@ 4 -> { //今日 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, time.timestampToDate(), time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, + groupId, + devCode, + time.timestampToDate(), + time.timestampToCompleteDate() ) } @@ -122,8 +129,8 @@ .setPositiveButton("选好了").setOnDialogButtonClickListener(object : DateSelectDialog.OnDialogButtonClickListener { override fun onConfirmClick(startDate: String, endDate: String) { - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, endDate + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, endDate ) } 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 7287bff..b854dee 100644 --- a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt @@ -18,6 +18,7 @@ class LoginActivity : KotlinBaseActivity() { + private val context = this private lateinit var authenticateViewModel: AuthenticateViewModel private lateinit var loginViewModel: LoginViewModel private lateinit var userViewModel: UserViewModel @@ -67,7 +68,7 @@ } SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account) SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword) - authenticateViewModel.obtainPublicKey() + authenticateViewModel.getPublicKey(this) } authenticateViewModel.keyModel.observe(this) { if (it.code == 200) {//用code判断,别的判断可能有坑 @@ -83,14 +84,14 @@ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!) //登录并获取Token,POST请求 - loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey) + loginViewModel.enter(context, it.data!!.sid!!, account, dataByPublicKey) loginViewModel.enterResultModel.observe(this) { loginResult -> if (loginResult.code == 200) { AuthenticationHelper.saveToken(loginResult.data!!.token!!) /** * 获取token之后保存用户信息 * */ - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() //验证成功登录 this.navigatePageTo() finish() 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 7a8c8c8..50eced4 100644 --- a/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt @@ -45,7 +45,7 @@ private val countDownTimer = object : CountDownTimer(1000, 500) { override fun onFinish() { - userDetailViewModel.obtainUserDetail() + userDetailViewModel.getUserDetail() } override fun onTick(millisUntilFinished: Long) { diff --git a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt index e35983e..6127c1b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.AreaModel @@ -24,7 +24,7 @@ val districtModel = MutableLiveData() val streetModel = MutableLiveData() - fun obtainPublicKey() = launch({ + fun getPublicKey(context: Context) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.authenticate() val responseCode = response.separateResponseCode() @@ -33,7 +33,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -42,15 +42,15 @@ /** * 根据部门获取区ID */ - fun obtainAreaByDept(deptId: String) = launch({ - val response = RetrofitServiceManager.obtainAreaByDept(deptId) + fun getAreaByDept(context: Context, deptId: String) = launch({ + val response = RetrofitServiceManager.getAreaByDept(deptId) val responseCode = response.separateResponseCode() if (responseCode == 200) { areaModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -59,15 +59,15 @@ /** * 区/县等 */ - fun obtainDistrict(pid: String) = launch({ - val response = RetrofitServiceManager.obtainDistrict(pid) + fun getDistrict(context: Context, pid: String) = launch({ + val response = RetrofitServiceManager.getDistrict(pid) val responseCode = response.separateResponseCode() if (responseCode == 200) { districtModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -76,15 +76,15 @@ /** * 街道 */ - fun obtainStreet(areaId: String) = launch({ - val response = RetrofitServiceManager.obtainStreet(areaId) + fun getStreet(context: Context, areaId: String) = launch({ + val response = RetrofitServiceManager.getStreet(areaId) val responseCode = response.separateResponseCode() if (responseCode == 200) { streetModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt index 4466dd8..66f235b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -26,7 +26,7 @@ val lastDataModel = MutableLiveData() val deleteResult = MutableLiveData() - fun getMapDeviceList() = launch({ + fun getMapDeviceList(context: Context) = launch({ val response = RetrofitServiceManager.getMapDeviceList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -34,15 +34,15 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun obtainDeviceDetail(groupId: String, tubeId: String) = launch({ + fun getDeviceDetail(context: Context, groupId: String, tubeId: String) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.obtainDeviceDetail(groupId, tubeId) + val response = RetrofitServiceManager.getDeviceDetail(groupId, tubeId) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -51,14 +51,15 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun obtainDeviceHistoryData( + fun getDeviceHistoryData( + context: Context, groupId: String, devcode: String, beginTime: String?, @@ -66,7 +67,7 @@ ) = launch({ loadState.value = LoadState.Loading val response = - RetrofitServiceManager.obtainDeviceHistoryData(groupId, devcode, beginTime, endTime) + RetrofitServiceManager.getDeviceHistoryData(groupId, devcode, beginTime, endTime) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -75,26 +76,28 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun obtainTubeLastData(groupId: String, devcode: String) = launch({ - val response = RetrofitServiceManager.obtainTubeLastData(groupId, devcode) + fun getTubeLastData(context: Context, groupId: String, devcode: String) = launch({ + val response = RetrofitServiceManager.getTubeLastData(groupId, devcode) when (response.separateResponseCode()) { 200 -> { lastDataModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } + 500 -> { lastDataModel.value = LastDataModel() } + else -> { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } } }, { @@ -103,6 +106,7 @@ }) fun addDevice( + context: Context, deviceCode: String, deviceName: String, ownerShip: String, @@ -134,14 +138,14 @@ loadState.value = LoadState.Success } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun deleteDeviceById(ids: List) = launch({ + fun deleteDeviceById(context: Context, ids: List) = launch({ val response = RetrofitServiceManager.deleteDeviceById(ids) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -149,7 +153,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt index de8c83f..2632d37 100644 --- a/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -20,25 +20,25 @@ val enterResultModel = MutableLiveData() val outResultModel = MutableLiveData() - fun enter(sid: String, account: String, secretKey: String) = launch({ + fun enter(context: Context, sid: String, account: String, secretKey: String) = launch({ val response = RetrofitServiceManager.login(sid, account, secretKey) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success - "登录成功".show(BaseApplication.obtainInstance()) + "登录成功".show(context) enterResultModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun out() = launch({ + fun out(context: Context) = launch({ val response = RetrofitServiceManager.loginOut() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -46,7 +46,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { 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 a2ed62a..767f52c 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -153,7 +153,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } }).build().show() } @@ -172,7 +172,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } override fun onCancelClick() { @@ -279,7 +279,7 @@ } private fun getDeviceListByPage() { - groupViewModel.getDeviceListByPage(groupId, order, page) + groupViewModel.getDeviceListByPage(this, groupId, order, page) } private val swipeAction = @@ -295,7 +295,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } override fun getSwipeDirection( @@ -333,7 +333,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } }).build().show() } diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index 75ad5c1..d17f773 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -96,7 +96,7 @@ } } } - deviceViewModel.getMapDeviceList() + deviceViewModel.getMapDeviceList(this) groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] groupViewModel.groupDeviceModel.observe(this) { @@ -131,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - groupViewModel.getDeviceListByGroup(groupId) + groupViewModel.getDeviceListByGroup(this, groupId) } override fun initEvent() { @@ -212,8 +212,7 @@ if (clicked.latitude == device.latGaode!!.toDouble() && clicked.longitude == device.lngGaode!!.toDouble()) { deviceCodeView.text = String.format("设备编号: ${device.devcode}") deviceModelView.text = String.format("设备模型: ${device.modelName}") - //获取设备最新浓度信息 - deviceViewModel.obtainTubeLastData(device.groupId, device.devcode) + deviceViewModel.lastDataModel.observe(this) { if (it.code == 200) { deviceValueView.text = String.format("最新浓度: ${it.data.strength}") @@ -223,6 +222,9 @@ updateTimeView.text = String.format("更新时间: 未知") } } + //获取设备最新浓度信息 + deviceViewModel.getTubeLastData(context, device.groupId, device.devcode) + if (device.latGaode.isBlank() || device.lngGaode.isBlank()) { locationView.text = "经纬度异常,无法查看具体位置" } else { 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 e58c030..9e5204d 100644 --- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt @@ -27,6 +27,7 @@ class HistoryDataActivity : KotlinBaseActivity() { private val kTag = "HistoryDataActivity" + private val context = this private lateinit var deviceViewModel: DeviceViewModel private lateinit var groupId: String private lateinit var devCode: String @@ -70,8 +71,8 @@ when (position) { 0 -> { //本年度 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, "$year-01-01", time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, "$year-01-01", time.timestampToCompleteDate() ) } @@ -84,14 +85,15 @@ 4 -> "$year-10-01" else -> "" } - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, time.timestampToCompleteDate() ) } 2 -> { //近30日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastMonthDate(), @@ -101,7 +103,8 @@ 3 -> { //近7日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastWeekDate(), @@ -111,8 +114,12 @@ 4 -> { //今日 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, time.timestampToDate(), time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, + groupId, + devCode, + time.timestampToDate(), + time.timestampToCompleteDate() ) } @@ -122,8 +129,8 @@ .setPositiveButton("选好了").setOnDialogButtonClickListener(object : DateSelectDialog.OnDialogButtonClickListener { override fun onConfirmClick(startDate: String, endDate: String) { - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, endDate + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, endDate ) } 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 7287bff..b854dee 100644 --- a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt @@ -18,6 +18,7 @@ class LoginActivity : KotlinBaseActivity() { + private val context = this private lateinit var authenticateViewModel: AuthenticateViewModel private lateinit var loginViewModel: LoginViewModel private lateinit var userViewModel: UserViewModel @@ -67,7 +68,7 @@ } SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account) SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword) - authenticateViewModel.obtainPublicKey() + authenticateViewModel.getPublicKey(this) } authenticateViewModel.keyModel.observe(this) { if (it.code == 200) {//用code判断,别的判断可能有坑 @@ -83,14 +84,14 @@ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!) //登录并获取Token,POST请求 - loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey) + loginViewModel.enter(context, it.data!!.sid!!, account, dataByPublicKey) loginViewModel.enterResultModel.observe(this) { loginResult -> if (loginResult.code == 200) { AuthenticationHelper.saveToken(loginResult.data!!.token!!) /** * 获取token之后保存用户信息 * */ - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() //验证成功登录 this.navigatePageTo() finish() 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 7a8c8c8..50eced4 100644 --- a/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt @@ -45,7 +45,7 @@ private val countDownTimer = object : CountDownTimer(1000, 500) { override fun onFinish() { - userDetailViewModel.obtainUserDetail() + userDetailViewModel.getUserDetail() } override fun onTick(millisUntilFinished: Long) { diff --git a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt index e35983e..6127c1b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.AreaModel @@ -24,7 +24,7 @@ val districtModel = MutableLiveData() val streetModel = MutableLiveData() - fun obtainPublicKey() = launch({ + fun getPublicKey(context: Context) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.authenticate() val responseCode = response.separateResponseCode() @@ -33,7 +33,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -42,15 +42,15 @@ /** * 根据部门获取区ID */ - fun obtainAreaByDept(deptId: String) = launch({ - val response = RetrofitServiceManager.obtainAreaByDept(deptId) + fun getAreaByDept(context: Context, deptId: String) = launch({ + val response = RetrofitServiceManager.getAreaByDept(deptId) val responseCode = response.separateResponseCode() if (responseCode == 200) { areaModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -59,15 +59,15 @@ /** * 区/县等 */ - fun obtainDistrict(pid: String) = launch({ - val response = RetrofitServiceManager.obtainDistrict(pid) + fun getDistrict(context: Context, pid: String) = launch({ + val response = RetrofitServiceManager.getDistrict(pid) val responseCode = response.separateResponseCode() if (responseCode == 200) { districtModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -76,15 +76,15 @@ /** * 街道 */ - fun obtainStreet(areaId: String) = launch({ - val response = RetrofitServiceManager.obtainStreet(areaId) + fun getStreet(context: Context, areaId: String) = launch({ + val response = RetrofitServiceManager.getStreet(areaId) val responseCode = response.separateResponseCode() if (responseCode == 200) { streetModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt index 4466dd8..66f235b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -26,7 +26,7 @@ val lastDataModel = MutableLiveData() val deleteResult = MutableLiveData() - fun getMapDeviceList() = launch({ + fun getMapDeviceList(context: Context) = launch({ val response = RetrofitServiceManager.getMapDeviceList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -34,15 +34,15 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun obtainDeviceDetail(groupId: String, tubeId: String) = launch({ + fun getDeviceDetail(context: Context, groupId: String, tubeId: String) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.obtainDeviceDetail(groupId, tubeId) + val response = RetrofitServiceManager.getDeviceDetail(groupId, tubeId) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -51,14 +51,15 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun obtainDeviceHistoryData( + fun getDeviceHistoryData( + context: Context, groupId: String, devcode: String, beginTime: String?, @@ -66,7 +67,7 @@ ) = launch({ loadState.value = LoadState.Loading val response = - RetrofitServiceManager.obtainDeviceHistoryData(groupId, devcode, beginTime, endTime) + RetrofitServiceManager.getDeviceHistoryData(groupId, devcode, beginTime, endTime) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -75,26 +76,28 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun obtainTubeLastData(groupId: String, devcode: String) = launch({ - val response = RetrofitServiceManager.obtainTubeLastData(groupId, devcode) + fun getTubeLastData(context: Context, groupId: String, devcode: String) = launch({ + val response = RetrofitServiceManager.getTubeLastData(groupId, devcode) when (response.separateResponseCode()) { 200 -> { lastDataModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } + 500 -> { lastDataModel.value = LastDataModel() } + else -> { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } } }, { @@ -103,6 +106,7 @@ }) fun addDevice( + context: Context, deviceCode: String, deviceName: String, ownerShip: String, @@ -134,14 +138,14 @@ loadState.value = LoadState.Success } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun deleteDeviceById(ids: List) = launch({ + fun deleteDeviceById(context: Context, ids: List) = launch({ val response = RetrofitServiceManager.deleteDeviceById(ids) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -149,7 +153,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt index de8c83f..2632d37 100644 --- a/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -20,25 +20,25 @@ val enterResultModel = MutableLiveData() val outResultModel = MutableLiveData() - fun enter(sid: String, account: String, secretKey: String) = launch({ + fun enter(context: Context, sid: String, account: String, secretKey: String) = launch({ val response = RetrofitServiceManager.login(sid, account, secretKey) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success - "登录成功".show(BaseApplication.obtainInstance()) + "登录成功".show(context) enterResultModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun out() = launch({ + fun out(context: Context) = launch({ val response = RetrofitServiceManager.loginOut() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -46,7 +46,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt index c873077..6cbe323 100644 --- a/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -26,7 +26,7 @@ val groupListModel = MutableLiveData() val changeGroupResult = MutableLiveData() - fun getProGroupList() = launch({ + fun getProGroupList(context: Context) = launch({ val response = RetrofitServiceManager.getProGroupList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -34,13 +34,13 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun getDeviceListByGroup(wellGroupId: String) = launch({ + fun getDeviceListByGroup(context: Context, wellGroupId: String) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.getDeviceListByGroup(wellGroupId) val responseCode = response.separateResponseCode() @@ -51,14 +51,14 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun getDeviceListByPage(groupId: String, order: Int, page: Int) = launch({ + fun getDeviceListByPage(context: Context, groupId: String, order: Int, page: Int) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.getDeviceListByPage(groupId, order, page) val responseCode = response.separateResponseCode() @@ -69,14 +69,14 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun getGroupList() = launch({ + fun getGroupList(context: Context) = launch({ val response = RetrofitServiceManager.getGroupList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -84,13 +84,13 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun changeGroupId(oldGroupId: String, newGroupId: String) = launch({ + fun changeGroupId(context: Context, oldGroupId: String, newGroupId: String) = launch({ val response = RetrofitServiceManager.changeGroupId(oldGroupId, newGroupId) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -98,7 +98,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { 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 a2ed62a..767f52c 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -153,7 +153,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } }).build().show() } @@ -172,7 +172,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } override fun onCancelClick() { @@ -279,7 +279,7 @@ } private fun getDeviceListByPage() { - groupViewModel.getDeviceListByPage(groupId, order, page) + groupViewModel.getDeviceListByPage(this, groupId, order, page) } private val swipeAction = @@ -295,7 +295,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } override fun getSwipeDirection( @@ -333,7 +333,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } }).build().show() } diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index 75ad5c1..d17f773 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -96,7 +96,7 @@ } } } - deviceViewModel.getMapDeviceList() + deviceViewModel.getMapDeviceList(this) groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] groupViewModel.groupDeviceModel.observe(this) { @@ -131,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - groupViewModel.getDeviceListByGroup(groupId) + groupViewModel.getDeviceListByGroup(this, groupId) } override fun initEvent() { @@ -212,8 +212,7 @@ if (clicked.latitude == device.latGaode!!.toDouble() && clicked.longitude == device.lngGaode!!.toDouble()) { deviceCodeView.text = String.format("设备编号: ${device.devcode}") deviceModelView.text = String.format("设备模型: ${device.modelName}") - //获取设备最新浓度信息 - deviceViewModel.obtainTubeLastData(device.groupId, device.devcode) + deviceViewModel.lastDataModel.observe(this) { if (it.code == 200) { deviceValueView.text = String.format("最新浓度: ${it.data.strength}") @@ -223,6 +222,9 @@ updateTimeView.text = String.format("更新时间: 未知") } } + //获取设备最新浓度信息 + deviceViewModel.getTubeLastData(context, device.groupId, device.devcode) + if (device.latGaode.isBlank() || device.lngGaode.isBlank()) { locationView.text = "经纬度异常,无法查看具体位置" } else { 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 e58c030..9e5204d 100644 --- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt @@ -27,6 +27,7 @@ class HistoryDataActivity : KotlinBaseActivity() { private val kTag = "HistoryDataActivity" + private val context = this private lateinit var deviceViewModel: DeviceViewModel private lateinit var groupId: String private lateinit var devCode: String @@ -70,8 +71,8 @@ when (position) { 0 -> { //本年度 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, "$year-01-01", time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, "$year-01-01", time.timestampToCompleteDate() ) } @@ -84,14 +85,15 @@ 4 -> "$year-10-01" else -> "" } - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, time.timestampToCompleteDate() ) } 2 -> { //近30日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastMonthDate(), @@ -101,7 +103,8 @@ 3 -> { //近7日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastWeekDate(), @@ -111,8 +114,12 @@ 4 -> { //今日 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, time.timestampToDate(), time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, + groupId, + devCode, + time.timestampToDate(), + time.timestampToCompleteDate() ) } @@ -122,8 +129,8 @@ .setPositiveButton("选好了").setOnDialogButtonClickListener(object : DateSelectDialog.OnDialogButtonClickListener { override fun onConfirmClick(startDate: String, endDate: String) { - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, endDate + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, endDate ) } 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 7287bff..b854dee 100644 --- a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt @@ -18,6 +18,7 @@ class LoginActivity : KotlinBaseActivity() { + private val context = this private lateinit var authenticateViewModel: AuthenticateViewModel private lateinit var loginViewModel: LoginViewModel private lateinit var userViewModel: UserViewModel @@ -67,7 +68,7 @@ } SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account) SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword) - authenticateViewModel.obtainPublicKey() + authenticateViewModel.getPublicKey(this) } authenticateViewModel.keyModel.observe(this) { if (it.code == 200) {//用code判断,别的判断可能有坑 @@ -83,14 +84,14 @@ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!) //登录并获取Token,POST请求 - loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey) + loginViewModel.enter(context, it.data!!.sid!!, account, dataByPublicKey) loginViewModel.enterResultModel.observe(this) { loginResult -> if (loginResult.code == 200) { AuthenticationHelper.saveToken(loginResult.data!!.token!!) /** * 获取token之后保存用户信息 * */ - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() //验证成功登录 this.navigatePageTo() finish() 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 7a8c8c8..50eced4 100644 --- a/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt @@ -45,7 +45,7 @@ private val countDownTimer = object : CountDownTimer(1000, 500) { override fun onFinish() { - userDetailViewModel.obtainUserDetail() + userDetailViewModel.getUserDetail() } override fun onTick(millisUntilFinished: Long) { diff --git a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt index e35983e..6127c1b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.AreaModel @@ -24,7 +24,7 @@ val districtModel = MutableLiveData() val streetModel = MutableLiveData() - fun obtainPublicKey() = launch({ + fun getPublicKey(context: Context) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.authenticate() val responseCode = response.separateResponseCode() @@ -33,7 +33,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -42,15 +42,15 @@ /** * 根据部门获取区ID */ - fun obtainAreaByDept(deptId: String) = launch({ - val response = RetrofitServiceManager.obtainAreaByDept(deptId) + fun getAreaByDept(context: Context, deptId: String) = launch({ + val response = RetrofitServiceManager.getAreaByDept(deptId) val responseCode = response.separateResponseCode() if (responseCode == 200) { areaModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -59,15 +59,15 @@ /** * 区/县等 */ - fun obtainDistrict(pid: String) = launch({ - val response = RetrofitServiceManager.obtainDistrict(pid) + fun getDistrict(context: Context, pid: String) = launch({ + val response = RetrofitServiceManager.getDistrict(pid) val responseCode = response.separateResponseCode() if (responseCode == 200) { districtModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -76,15 +76,15 @@ /** * 街道 */ - fun obtainStreet(areaId: String) = launch({ - val response = RetrofitServiceManager.obtainStreet(areaId) + fun getStreet(context: Context, areaId: String) = launch({ + val response = RetrofitServiceManager.getStreet(areaId) val responseCode = response.separateResponseCode() if (responseCode == 200) { streetModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt index 4466dd8..66f235b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -26,7 +26,7 @@ val lastDataModel = MutableLiveData() val deleteResult = MutableLiveData() - fun getMapDeviceList() = launch({ + fun getMapDeviceList(context: Context) = launch({ val response = RetrofitServiceManager.getMapDeviceList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -34,15 +34,15 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun obtainDeviceDetail(groupId: String, tubeId: String) = launch({ + fun getDeviceDetail(context: Context, groupId: String, tubeId: String) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.obtainDeviceDetail(groupId, tubeId) + val response = RetrofitServiceManager.getDeviceDetail(groupId, tubeId) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -51,14 +51,15 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun obtainDeviceHistoryData( + fun getDeviceHistoryData( + context: Context, groupId: String, devcode: String, beginTime: String?, @@ -66,7 +67,7 @@ ) = launch({ loadState.value = LoadState.Loading val response = - RetrofitServiceManager.obtainDeviceHistoryData(groupId, devcode, beginTime, endTime) + RetrofitServiceManager.getDeviceHistoryData(groupId, devcode, beginTime, endTime) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -75,26 +76,28 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun obtainTubeLastData(groupId: String, devcode: String) = launch({ - val response = RetrofitServiceManager.obtainTubeLastData(groupId, devcode) + fun getTubeLastData(context: Context, groupId: String, devcode: String) = launch({ + val response = RetrofitServiceManager.getTubeLastData(groupId, devcode) when (response.separateResponseCode()) { 200 -> { lastDataModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } + 500 -> { lastDataModel.value = LastDataModel() } + else -> { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } } }, { @@ -103,6 +106,7 @@ }) fun addDevice( + context: Context, deviceCode: String, deviceName: String, ownerShip: String, @@ -134,14 +138,14 @@ loadState.value = LoadState.Success } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun deleteDeviceById(ids: List) = launch({ + fun deleteDeviceById(context: Context, ids: List) = launch({ val response = RetrofitServiceManager.deleteDeviceById(ids) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -149,7 +153,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt index de8c83f..2632d37 100644 --- a/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -20,25 +20,25 @@ val enterResultModel = MutableLiveData() val outResultModel = MutableLiveData() - fun enter(sid: String, account: String, secretKey: String) = launch({ + fun enter(context: Context, sid: String, account: String, secretKey: String) = launch({ val response = RetrofitServiceManager.login(sid, account, secretKey) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success - "登录成功".show(BaseApplication.obtainInstance()) + "登录成功".show(context) enterResultModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun out() = launch({ + fun out(context: Context) = launch({ val response = RetrofitServiceManager.loginOut() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -46,7 +46,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt index c873077..6cbe323 100644 --- a/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -26,7 +26,7 @@ val groupListModel = MutableLiveData() val changeGroupResult = MutableLiveData() - fun getProGroupList() = launch({ + fun getProGroupList(context: Context) = launch({ val response = RetrofitServiceManager.getProGroupList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -34,13 +34,13 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun getDeviceListByGroup(wellGroupId: String) = launch({ + fun getDeviceListByGroup(context: Context, wellGroupId: String) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.getDeviceListByGroup(wellGroupId) val responseCode = response.separateResponseCode() @@ -51,14 +51,14 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun getDeviceListByPage(groupId: String, order: Int, page: Int) = launch({ + fun getDeviceListByPage(context: Context, groupId: String, order: Int, page: Int) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.getDeviceListByPage(groupId, order, page) val responseCode = response.separateResponseCode() @@ -69,14 +69,14 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun getGroupList() = launch({ + fun getGroupList(context: Context) = launch({ val response = RetrofitServiceManager.getGroupList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -84,13 +84,13 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun changeGroupId(oldGroupId: String, newGroupId: String) = launch({ + fun changeGroupId(context: Context, oldGroupId: String, newGroupId: String) = launch({ val response = RetrofitServiceManager.changeGroupId(oldGroupId, newGroupId) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -98,7 +98,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/UploadImageViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/UploadImageViewModel.kt index 0d3faaf..01632e8 100644 --- a/app/src/main/java/com/casic/smarttube/vm/UploadImageViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/UploadImageViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -18,7 +18,7 @@ private val gson = Gson() val resultModel = MutableLiveData() - fun uploadImage(image: File) = launch({ + fun uploadImage(context: Context, image: File) = launch({ val response = RetrofitServiceManager.uploadImage(image) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -26,7 +26,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { 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 a2ed62a..767f52c 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -153,7 +153,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } }).build().show() } @@ -172,7 +172,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } override fun onCancelClick() { @@ -279,7 +279,7 @@ } private fun getDeviceListByPage() { - groupViewModel.getDeviceListByPage(groupId, order, page) + groupViewModel.getDeviceListByPage(this, groupId, order, page) } private val swipeAction = @@ -295,7 +295,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } override fun getSwipeDirection( @@ -333,7 +333,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } }).build().show() } diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index 75ad5c1..d17f773 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -96,7 +96,7 @@ } } } - deviceViewModel.getMapDeviceList() + deviceViewModel.getMapDeviceList(this) groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] groupViewModel.groupDeviceModel.observe(this) { @@ -131,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - groupViewModel.getDeviceListByGroup(groupId) + groupViewModel.getDeviceListByGroup(this, groupId) } override fun initEvent() { @@ -212,8 +212,7 @@ if (clicked.latitude == device.latGaode!!.toDouble() && clicked.longitude == device.lngGaode!!.toDouble()) { deviceCodeView.text = String.format("设备编号: ${device.devcode}") deviceModelView.text = String.format("设备模型: ${device.modelName}") - //获取设备最新浓度信息 - deviceViewModel.obtainTubeLastData(device.groupId, device.devcode) + deviceViewModel.lastDataModel.observe(this) { if (it.code == 200) { deviceValueView.text = String.format("最新浓度: ${it.data.strength}") @@ -223,6 +222,9 @@ updateTimeView.text = String.format("更新时间: 未知") } } + //获取设备最新浓度信息 + deviceViewModel.getTubeLastData(context, device.groupId, device.devcode) + if (device.latGaode.isBlank() || device.lngGaode.isBlank()) { locationView.text = "经纬度异常,无法查看具体位置" } else { 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 e58c030..9e5204d 100644 --- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt @@ -27,6 +27,7 @@ class HistoryDataActivity : KotlinBaseActivity() { private val kTag = "HistoryDataActivity" + private val context = this private lateinit var deviceViewModel: DeviceViewModel private lateinit var groupId: String private lateinit var devCode: String @@ -70,8 +71,8 @@ when (position) { 0 -> { //本年度 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, "$year-01-01", time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, "$year-01-01", time.timestampToCompleteDate() ) } @@ -84,14 +85,15 @@ 4 -> "$year-10-01" else -> "" } - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, time.timestampToCompleteDate() ) } 2 -> { //近30日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastMonthDate(), @@ -101,7 +103,8 @@ 3 -> { //近7日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastWeekDate(), @@ -111,8 +114,12 @@ 4 -> { //今日 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, time.timestampToDate(), time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, + groupId, + devCode, + time.timestampToDate(), + time.timestampToCompleteDate() ) } @@ -122,8 +129,8 @@ .setPositiveButton("选好了").setOnDialogButtonClickListener(object : DateSelectDialog.OnDialogButtonClickListener { override fun onConfirmClick(startDate: String, endDate: String) { - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, endDate + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, endDate ) } 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 7287bff..b854dee 100644 --- a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt @@ -18,6 +18,7 @@ class LoginActivity : KotlinBaseActivity() { + private val context = this private lateinit var authenticateViewModel: AuthenticateViewModel private lateinit var loginViewModel: LoginViewModel private lateinit var userViewModel: UserViewModel @@ -67,7 +68,7 @@ } SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account) SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword) - authenticateViewModel.obtainPublicKey() + authenticateViewModel.getPublicKey(this) } authenticateViewModel.keyModel.observe(this) { if (it.code == 200) {//用code判断,别的判断可能有坑 @@ -83,14 +84,14 @@ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!) //登录并获取Token,POST请求 - loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey) + loginViewModel.enter(context, it.data!!.sid!!, account, dataByPublicKey) loginViewModel.enterResultModel.observe(this) { loginResult -> if (loginResult.code == 200) { AuthenticationHelper.saveToken(loginResult.data!!.token!!) /** * 获取token之后保存用户信息 * */ - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() //验证成功登录 this.navigatePageTo() finish() 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 7a8c8c8..50eced4 100644 --- a/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt @@ -45,7 +45,7 @@ private val countDownTimer = object : CountDownTimer(1000, 500) { override fun onFinish() { - userDetailViewModel.obtainUserDetail() + userDetailViewModel.getUserDetail() } override fun onTick(millisUntilFinished: Long) { diff --git a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt index e35983e..6127c1b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.AreaModel @@ -24,7 +24,7 @@ val districtModel = MutableLiveData() val streetModel = MutableLiveData() - fun obtainPublicKey() = launch({ + fun getPublicKey(context: Context) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.authenticate() val responseCode = response.separateResponseCode() @@ -33,7 +33,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -42,15 +42,15 @@ /** * 根据部门获取区ID */ - fun obtainAreaByDept(deptId: String) = launch({ - val response = RetrofitServiceManager.obtainAreaByDept(deptId) + fun getAreaByDept(context: Context, deptId: String) = launch({ + val response = RetrofitServiceManager.getAreaByDept(deptId) val responseCode = response.separateResponseCode() if (responseCode == 200) { areaModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -59,15 +59,15 @@ /** * 区/县等 */ - fun obtainDistrict(pid: String) = launch({ - val response = RetrofitServiceManager.obtainDistrict(pid) + fun getDistrict(context: Context, pid: String) = launch({ + val response = RetrofitServiceManager.getDistrict(pid) val responseCode = response.separateResponseCode() if (responseCode == 200) { districtModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -76,15 +76,15 @@ /** * 街道 */ - fun obtainStreet(areaId: String) = launch({ - val response = RetrofitServiceManager.obtainStreet(areaId) + fun getStreet(context: Context, areaId: String) = launch({ + val response = RetrofitServiceManager.getStreet(areaId) val responseCode = response.separateResponseCode() if (responseCode == 200) { streetModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt index 4466dd8..66f235b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -26,7 +26,7 @@ val lastDataModel = MutableLiveData() val deleteResult = MutableLiveData() - fun getMapDeviceList() = launch({ + fun getMapDeviceList(context: Context) = launch({ val response = RetrofitServiceManager.getMapDeviceList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -34,15 +34,15 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun obtainDeviceDetail(groupId: String, tubeId: String) = launch({ + fun getDeviceDetail(context: Context, groupId: String, tubeId: String) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.obtainDeviceDetail(groupId, tubeId) + val response = RetrofitServiceManager.getDeviceDetail(groupId, tubeId) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -51,14 +51,15 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun obtainDeviceHistoryData( + fun getDeviceHistoryData( + context: Context, groupId: String, devcode: String, beginTime: String?, @@ -66,7 +67,7 @@ ) = launch({ loadState.value = LoadState.Loading val response = - RetrofitServiceManager.obtainDeviceHistoryData(groupId, devcode, beginTime, endTime) + RetrofitServiceManager.getDeviceHistoryData(groupId, devcode, beginTime, endTime) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -75,26 +76,28 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun obtainTubeLastData(groupId: String, devcode: String) = launch({ - val response = RetrofitServiceManager.obtainTubeLastData(groupId, devcode) + fun getTubeLastData(context: Context, groupId: String, devcode: String) = launch({ + val response = RetrofitServiceManager.getTubeLastData(groupId, devcode) when (response.separateResponseCode()) { 200 -> { lastDataModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } + 500 -> { lastDataModel.value = LastDataModel() } + else -> { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } } }, { @@ -103,6 +106,7 @@ }) fun addDevice( + context: Context, deviceCode: String, deviceName: String, ownerShip: String, @@ -134,14 +138,14 @@ loadState.value = LoadState.Success } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun deleteDeviceById(ids: List) = launch({ + fun deleteDeviceById(context: Context, ids: List) = launch({ val response = RetrofitServiceManager.deleteDeviceById(ids) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -149,7 +153,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt index de8c83f..2632d37 100644 --- a/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -20,25 +20,25 @@ val enterResultModel = MutableLiveData() val outResultModel = MutableLiveData() - fun enter(sid: String, account: String, secretKey: String) = launch({ + fun enter(context: Context, sid: String, account: String, secretKey: String) = launch({ val response = RetrofitServiceManager.login(sid, account, secretKey) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success - "登录成功".show(BaseApplication.obtainInstance()) + "登录成功".show(context) enterResultModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun out() = launch({ + fun out(context: Context) = launch({ val response = RetrofitServiceManager.loginOut() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -46,7 +46,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt index c873077..6cbe323 100644 --- a/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -26,7 +26,7 @@ val groupListModel = MutableLiveData() val changeGroupResult = MutableLiveData() - fun getProGroupList() = launch({ + fun getProGroupList(context: Context) = launch({ val response = RetrofitServiceManager.getProGroupList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -34,13 +34,13 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun getDeviceListByGroup(wellGroupId: String) = launch({ + fun getDeviceListByGroup(context: Context, wellGroupId: String) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.getDeviceListByGroup(wellGroupId) val responseCode = response.separateResponseCode() @@ -51,14 +51,14 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun getDeviceListByPage(groupId: String, order: Int, page: Int) = launch({ + fun getDeviceListByPage(context: Context, groupId: String, order: Int, page: Int) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.getDeviceListByPage(groupId, order, page) val responseCode = response.separateResponseCode() @@ -69,14 +69,14 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun getGroupList() = launch({ + fun getGroupList(context: Context) = launch({ val response = RetrofitServiceManager.getGroupList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -84,13 +84,13 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun changeGroupId(oldGroupId: String, newGroupId: String) = launch({ + fun changeGroupId(context: Context, oldGroupId: String, newGroupId: String) = launch({ val response = RetrofitServiceManager.changeGroupId(oldGroupId, newGroupId) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -98,7 +98,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/UploadImageViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/UploadImageViewModel.kt index 0d3faaf..01632e8 100644 --- a/app/src/main/java/com/casic/smarttube/vm/UploadImageViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/UploadImageViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -18,7 +18,7 @@ private val gson = Gson() val resultModel = MutableLiveData() - fun uploadImage(image: File) = launch({ + fun uploadImage(context: Context, image: File) = launch({ val response = RetrofitServiceManager.uploadImage(image) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -26,7 +26,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/UserViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/UserViewModel.kt index 15f0d96..cf9cc72 100644 --- a/app/src/main/java/com/casic/smarttube/vm/UserViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/UserViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.UserDetailModel @@ -20,8 +20,8 @@ private val gson = Gson() val userDetailModel = MutableLiveData() - fun obtainUserDetail() = launch({ - val response = RetrofitServiceManager.obtainUserDetail() + fun getUserDetail() = launch({ + val response = RetrofitServiceManager.getUserDetail() val responseCode = response.separateResponseCode() if (responseCode == 200) { val userDetail = gson.fromJson( @@ -40,7 +40,7 @@ it.printStackTrace() }) - fun changePassword(oldPwd: String, newPwd: String) = launch({ + fun changePassword(context: Context, oldPwd: String, newPwd: String) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.changePassword(oldPwd, newPwd) val responseCode = response.separateResponseCode() @@ -48,7 +48,7 @@ loadState.value = LoadState.Success } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail diff --git a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt index de0d0b9..413bc6b 100644 --- a/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/smarttube/base/BaseApplication.kt @@ -2,19 +2,10 @@ import android.app.Application import com.pengxh.kt.lite.utils.SaveKeyValues -import kotlin.properties.Delegates class BaseApplication : Application() { - - companion object { - private var instance: BaseApplication by Delegates.notNull() - - fun obtainInstance() = instance - } - override fun onCreate() { super.onCreate() - instance = this SaveKeyValues.initSharedPreferences(this) } } \ 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 26c4632..8322ca2 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/MinePageFragment.kt @@ -96,7 +96,7 @@ binding.updateUserButton.setOnClickListener { LoadingDialog.show(requireActivity(), "同步中,请稍后...") - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() } binding.changePwdLayout.setOnClickListener { @@ -111,7 +111,7 @@ val newPassKey = RSAUtils.encryptDataByPublicKey( newPwd.toByteArray(StandardCharsets.UTF_8), publicKey ) - userViewModel.changePassword(oldPassKey, newPassKey) + userViewModel.changePassword(requireContext(), oldPassKey, newPassKey) } }).build().show() } @@ -121,7 +121,7 @@ } binding.updateVersionLayout.setOnClickListener { - versionViewModel.updateVersion() + versionViewModel.updateVersion(requireContext()) } binding.updateLogLayout.setOnClickListener { @@ -150,7 +150,7 @@ .setOnDialogButtonClickListener(object : AlertControlDialog.OnDialogButtonClickListener { override fun onConfirmClick() { - loginViewModel.out() + loginViewModel.out(requireContext()) } override fun onCancelClick() {} 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 96debfb..8f63fdb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -60,7 +60,7 @@ override fun onResume() { super.onResume() - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } private fun bindRecyclerView(it: ProjectGroupModel) { @@ -156,7 +156,7 @@ override fun onConfirmClick(value: String) { item.groupId = value - groupViewModel.changeGroupId(item.groupId, value) + groupViewModel.changeGroupId(requireContext(), item.groupId, value) } }).build().show() } @@ -184,12 +184,12 @@ override fun initEvent() { binding.refreshView.setOnRefreshListener { isRefresh = true - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } binding.emptyView.setOnClickListener(object : EmptyView.OnClickListener { override fun onReloadButtonClicked() { - groupViewModel.getProGroupList() + groupViewModel.getProGroupList(requireContext()) } }) } diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt index fc0a49d..ac34b5d 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitService.kt @@ -10,7 +10,7 @@ * PublicKey校验 */ @GET("/config/baseConfig") - suspend fun obtainPublicKey(): String + suspend fun getPublicKey(): String /** * 登录并获取Token @@ -21,7 +21,7 @@ */ @FormUrlEncoded @POST("/user/login") - suspend fun obtainLoginResult( + suspend fun getLoginResult( @Field("sid") sid: String, @Field("username") account: String, @Field("password") secretKey: String @@ -37,7 +37,7 @@ * 获取用户信息 */ @GET("/user/info") - suspend fun obtainUserDetail(@Header("token") token: String): String + suspend fun getUserDetail(@Header("token") token: String): String /** * 修改密码 @@ -69,7 +69,7 @@ * 更新APK版本 */ @POST("/app/checkVersion") - suspend fun obtainVersionResult(@Header("token") token: String): String + suspend fun getApplicationVersion(@Header("token") token: String): String /** * 地图设备列表 @@ -111,7 +111,7 @@ * @param devcode 管盯设备编号 */ @GET("/tube/detail") - suspend fun obtainDeviceDetail( + suspend fun getDeviceDetail( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String @@ -123,7 +123,7 @@ * @param deptId */ @GET("/config/getAreaByDept") - suspend fun obtainAreaByDept( + suspend fun getAreaByDept( @Header("token") token: String, @Query("deptId") deptId: String ): String @@ -134,7 +134,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainDistrict( + suspend fun getDistrict( @Header("token") token: String, @Query("pid") pid: String ): String @@ -145,7 +145,7 @@ * @param pid */ @GET("/area/list") - suspend fun obtainStreet( + suspend fun getStreet( @Header("token") token: String, @Query("pid") pid: String ): String @@ -154,7 +154,7 @@ * 获取管盯历史数据 * */ @GET("/tube/groupdevice/history") - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String?, @@ -168,7 +168,7 @@ * @param wellGroupId 管盯设备编号 */ @GET("/tube/latestdata") - suspend fun obtainTubeLastData( + suspend fun getTubeLastData( @Header("token") token: String, @Query("wellGroupId") wellGroupId: String, @Query("devcode") devcode: String diff --git a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt index 351988e..040090e 100644 --- a/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/smarttube/retrofit/RetrofitServiceManager.kt @@ -7,7 +7,7 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody -import okhttp3.RequestBody +import okhttp3.RequestBody.Companion.asRequestBody import okhttp3.RequestBody.Companion.toRequestBody import org.json.JSONObject import java.io.File @@ -26,14 +26,14 @@ * 验证PublicKey */ suspend fun authenticate(): String { - return api.obtainPublicKey() + return api.getPublicKey() } /** * 登录并获取Token */ suspend fun login(sid: String, account: String, secretKey: String): String { - return api.obtainLoginResult(sid, account, secretKey) + return api.getLoginResult(sid, account, secretKey) } /** @@ -46,8 +46,8 @@ /** * 获取用户信息 */ - suspend fun obtainUserDetail(): String { - return api.obtainUserDetail(AuthenticationHelper.token!!) + suspend fun getUserDetail(): String { + return api.getUserDetail(AuthenticationHelper.token!!) } /** @@ -60,8 +60,8 @@ /** * 更新APK版本 */ - suspend fun updateVersion(): String { - return api.obtainVersionResult(AuthenticationHelper.token!!) + suspend fun getApplicationVersion(): String { + return api.getApplicationVersion(AuthenticationHelper.token!!) } /** @@ -97,38 +97,38 @@ /** * 获取设备详情 */ - suspend fun obtainDeviceDetail(groupId: String, tubeId: String): String { - return api.obtainDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) + suspend fun getDeviceDetail(groupId: String, tubeId: String): String { + return api.getDeviceDetail(AuthenticationHelper.token!!, groupId, tubeId) } /** * 根据部门获取区ID */ - suspend fun obtainAreaByDept(deptId: String): String { - return api.obtainAreaByDept(AuthenticationHelper.token!!, deptId) + suspend fun getAreaByDept(deptId: String): String { + return api.getAreaByDept(AuthenticationHelper.token!!, deptId) } /** * 获取区/县等 */ - suspend fun obtainDistrict(pid: String): String { - return api.obtainDistrict(AuthenticationHelper.token!!, pid) + suspend fun getDistrict(pid: String): String { + return api.getDistrict(AuthenticationHelper.token!!, pid) } /** * 获取街道 */ - suspend fun obtainStreet(pid: String): String { - return api.obtainStreet(AuthenticationHelper.token!!, pid) + suspend fun getStreet(pid: String): String { + return api.getStreet(AuthenticationHelper.token!!, pid) } /** * 根据设备编号获取历史数据 */ - suspend fun obtainDeviceHistoryData( + suspend fun getDeviceHistoryData( groupId: String, devcode: String, beginTime: String?, endTime: String? ): String { - return api.obtainDeviceHistoryData( + return api.getDeviceHistoryData( AuthenticationHelper.token!!, groupId, devcode, beginTime, endTime ) } @@ -137,7 +137,7 @@ * 上传图片 */ suspend fun uploadImage(image: File): String { - val requestBody = RequestBody.create("image/png".toMediaTypeOrNull(), image) + val requestBody = image.asRequestBody("image/png".toMediaTypeOrNull()) val imagePart = MultipartBody.Part.createFormData("file", image.name, requestBody) return api.uploadImage(AuthenticationHelper.token!!, imagePart) } @@ -145,8 +145,8 @@ /** * 获取设备最新数据 */ - suspend fun obtainTubeLastData(groupId: String, devcode: String): String { - return api.obtainTubeLastData(AuthenticationHelper.token!!, groupId, devcode) + suspend fun getTubeLastData(groupId: String, devcode: String): String { + return api.getTubeLastData(AuthenticationHelper.token!!, groupId, devcode) } /** 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 fbab6e0..1976c77 100644 --- a/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AddDeviceActivity.kt @@ -180,7 +180,7 @@ } } - binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList() } + binding.ownerShipView.setOnClickListener { groupViewModel.getGroupList(this) } //默认频率1min binding.collectIntervalView.text = frequency[0] @@ -309,6 +309,7 @@ userDetailJson, object : TypeToken() {}.type ) deviceViewModel.addDevice( + this, deviceCode, binding.deviceNameView.text.toString(), ownerShip, @@ -377,7 +378,7 @@ override fun onSuccess(file: File) { Log.d(kTag, "onSuccess: " + file.absolutePath) //上传图片 - uploadImageViewModel.uploadImage(file) + uploadImageViewModel.uploadImage(context, file) } override fun onError(e: Throwable) { 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 8bc6ab5..264d41b 100644 --- a/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/DeviceDetailActivity.kt @@ -60,9 +60,7 @@ override fun initOnCreate(savedInstanceState: Bundle?) { val params = intent.getStringArrayListExtra(LiteKitConstant.INTENT_PARAM_KEY)!! - deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] - deviceViewModel.obtainDeviceDetail(params[0], params[1]) deviceViewModel.deviceDetailModel.observe(this) { if (it.code == 200) { val device = it.data @@ -138,6 +136,7 @@ } } } + deviceViewModel.getDeviceDetail(this, params[0], params[1]) } override fun observeRequestState() { 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 a2ed62a..767f52c 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -153,7 +153,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } }).build().show() } @@ -172,7 +172,7 @@ } } isDeleteAll = true - deviceViewModel.deleteDeviceById(ids) + deviceViewModel.deleteDeviceById(context, ids) } override fun onCancelClick() { @@ -279,7 +279,7 @@ } private fun getDeviceListByPage() { - groupViewModel.getDeviceListByPage(groupId, order, page) + groupViewModel.getDeviceListByPage(this, groupId, order, page) } private val swipeAction = @@ -295,7 +295,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } override fun getSwipeDirection( @@ -333,7 +333,7 @@ return } isDeleteAll = false - deviceViewModel.deleteDeviceById(arrayListOf(deviceId.toLong())) + deviceViewModel.deleteDeviceById(context, arrayListOf(deviceId.toLong())) } }).build().show() } diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index 75ad5c1..d17f773 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -96,7 +96,7 @@ } } } - deviceViewModel.getMapDeviceList() + deviceViewModel.getMapDeviceList(this) groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] groupViewModel.groupDeviceModel.observe(this) { @@ -131,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - groupViewModel.getDeviceListByGroup(groupId) + groupViewModel.getDeviceListByGroup(this, groupId) } override fun initEvent() { @@ -212,8 +212,7 @@ if (clicked.latitude == device.latGaode!!.toDouble() && clicked.longitude == device.lngGaode!!.toDouble()) { deviceCodeView.text = String.format("设备编号: ${device.devcode}") deviceModelView.text = String.format("设备模型: ${device.modelName}") - //获取设备最新浓度信息 - deviceViewModel.obtainTubeLastData(device.groupId, device.devcode) + deviceViewModel.lastDataModel.observe(this) { if (it.code == 200) { deviceValueView.text = String.format("最新浓度: ${it.data.strength}") @@ -223,6 +222,9 @@ updateTimeView.text = String.format("更新时间: 未知") } } + //获取设备最新浓度信息 + deviceViewModel.getTubeLastData(context, device.groupId, device.devcode) + if (device.latGaode.isBlank() || device.lngGaode.isBlank()) { locationView.text = "经纬度异常,无法查看具体位置" } else { 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 e58c030..9e5204d 100644 --- a/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/HistoryDataActivity.kt @@ -27,6 +27,7 @@ class HistoryDataActivity : KotlinBaseActivity() { private val kTag = "HistoryDataActivity" + private val context = this private lateinit var deviceViewModel: DeviceViewModel private lateinit var groupId: String private lateinit var devCode: String @@ -70,8 +71,8 @@ when (position) { 0 -> { //本年度 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, "$year-01-01", time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, "$year-01-01", time.timestampToCompleteDate() ) } @@ -84,14 +85,15 @@ 4 -> "$year-10-01" else -> "" } - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, time.timestampToCompleteDate() ) } 2 -> { //近30日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastMonthDate(), @@ -101,7 +103,8 @@ 3 -> { //近7日 - deviceViewModel.obtainDeviceHistoryData( + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, time.timestampToLastWeekDate(), @@ -111,8 +114,12 @@ 4 -> { //今日 - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, time.timestampToDate(), time.timestampToCompleteDate() + deviceViewModel.getDeviceHistoryData( + context, + groupId, + devCode, + time.timestampToDate(), + time.timestampToCompleteDate() ) } @@ -122,8 +129,8 @@ .setPositiveButton("选好了").setOnDialogButtonClickListener(object : DateSelectDialog.OnDialogButtonClickListener { override fun onConfirmClick(startDate: String, endDate: String) { - deviceViewModel.obtainDeviceHistoryData( - groupId, devCode, startDate, endDate + deviceViewModel.getDeviceHistoryData( + context, groupId, devCode, startDate, endDate ) } 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 7287bff..b854dee 100644 --- a/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/LoginActivity.kt @@ -18,6 +18,7 @@ class LoginActivity : KotlinBaseActivity() { + private val context = this private lateinit var authenticateViewModel: AuthenticateViewModel private lateinit var loginViewModel: LoginViewModel private lateinit var userViewModel: UserViewModel @@ -67,7 +68,7 @@ } SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account) SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword) - authenticateViewModel.obtainPublicKey() + authenticateViewModel.getPublicKey(this) } authenticateViewModel.keyModel.observe(this) { if (it.code == 200) {//用code判断,别的判断可能有坑 @@ -83,14 +84,14 @@ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!) //登录并获取Token,POST请求 - loginViewModel.enter(it.data!!.sid!!, account, dataByPublicKey) + loginViewModel.enter(context, it.data!!.sid!!, account, dataByPublicKey) loginViewModel.enterResultModel.observe(this) { loginResult -> if (loginResult.code == 200) { AuthenticationHelper.saveToken(loginResult.data!!.token!!) /** * 获取token之后保存用户信息 * */ - userViewModel.obtainUserDetail() + userViewModel.getUserDetail() //验证成功登录 this.navigatePageTo() finish() 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 7a8c8c8..50eced4 100644 --- a/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/SplashScreenActivity.kt @@ -45,7 +45,7 @@ private val countDownTimer = object : CountDownTimer(1000, 500) { override fun onFinish() { - userDetailViewModel.obtainUserDetail() + userDetailViewModel.getUserDetail() } override fun onTick(millisUntilFinished: Long) { diff --git a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt index e35983e..6127c1b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/AuthenticateViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.AreaModel @@ -24,7 +24,7 @@ val districtModel = MutableLiveData() val streetModel = MutableLiveData() - fun obtainPublicKey() = launch({ + fun getPublicKey(context: Context) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.authenticate() val responseCode = response.separateResponseCode() @@ -33,7 +33,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -42,15 +42,15 @@ /** * 根据部门获取区ID */ - fun obtainAreaByDept(deptId: String) = launch({ - val response = RetrofitServiceManager.obtainAreaByDept(deptId) + fun getAreaByDept(context: Context, deptId: String) = launch({ + val response = RetrofitServiceManager.getAreaByDept(deptId) val responseCode = response.separateResponseCode() if (responseCode == 200) { areaModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -59,15 +59,15 @@ /** * 区/县等 */ - fun obtainDistrict(pid: String) = launch({ - val response = RetrofitServiceManager.obtainDistrict(pid) + fun getDistrict(context: Context, pid: String) = launch({ + val response = RetrofitServiceManager.getDistrict(pid) val responseCode = response.separateResponseCode() if (responseCode == 200) { districtModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() @@ -76,15 +76,15 @@ /** * 街道 */ - fun obtainStreet(areaId: String) = launch({ - val response = RetrofitServiceManager.obtainStreet(areaId) + fun getStreet(context: Context, areaId: String) = launch({ + val response = RetrofitServiceManager.getStreet(areaId) val responseCode = response.separateResponseCode() if (responseCode == 200) { streetModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt index 4466dd8..66f235b 100644 --- a/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/DeviceViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -26,7 +26,7 @@ val lastDataModel = MutableLiveData() val deleteResult = MutableLiveData() - fun getMapDeviceList() = launch({ + fun getMapDeviceList(context: Context) = launch({ val response = RetrofitServiceManager.getMapDeviceList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -34,15 +34,15 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun obtainDeviceDetail(groupId: String, tubeId: String) = launch({ + fun getDeviceDetail(context: Context, groupId: String, tubeId: String) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.obtainDeviceDetail(groupId, tubeId) + val response = RetrofitServiceManager.getDeviceDetail(groupId, tubeId) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -51,14 +51,15 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun obtainDeviceHistoryData( + fun getDeviceHistoryData( + context: Context, groupId: String, devcode: String, beginTime: String?, @@ -66,7 +67,7 @@ ) = launch({ loadState.value = LoadState.Loading val response = - RetrofitServiceManager.obtainDeviceHistoryData(groupId, devcode, beginTime, endTime) + RetrofitServiceManager.getDeviceHistoryData(groupId, devcode, beginTime, endTime) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -75,26 +76,28 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun obtainTubeLastData(groupId: String, devcode: String) = launch({ - val response = RetrofitServiceManager.obtainTubeLastData(groupId, devcode) + fun getTubeLastData(context: Context, groupId: String, devcode: String) = launch({ + val response = RetrofitServiceManager.getTubeLastData(groupId, devcode) when (response.separateResponseCode()) { 200 -> { lastDataModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } + 500 -> { lastDataModel.value = LastDataModel() } + else -> { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } } }, { @@ -103,6 +106,7 @@ }) fun addDevice( + context: Context, deviceCode: String, deviceName: String, ownerShip: String, @@ -134,14 +138,14 @@ loadState.value = LoadState.Success } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun deleteDeviceById(ids: List) = launch({ + fun deleteDeviceById(context: Context, ids: List) = launch({ val response = RetrofitServiceManager.deleteDeviceById(ids) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -149,7 +153,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt index de8c83f..2632d37 100644 --- a/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/LoginViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -20,25 +20,25 @@ val enterResultModel = MutableLiveData() val outResultModel = MutableLiveData() - fun enter(sid: String, account: String, secretKey: String) = launch({ + fun enter(context: Context, sid: String, account: String, secretKey: String) = launch({ val response = RetrofitServiceManager.login(sid, account, secretKey) val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success - "登录成功".show(BaseApplication.obtainInstance()) + "登录成功".show(context) enterResultModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun out() = launch({ + fun out(context: Context) = launch({ val response = RetrofitServiceManager.loginOut() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -46,7 +46,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt index c873077..6cbe323 100644 --- a/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/ProjectGroupViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -26,7 +26,7 @@ val groupListModel = MutableLiveData() val changeGroupResult = MutableLiveData() - fun getProGroupList() = launch({ + fun getProGroupList(context: Context) = launch({ val response = RetrofitServiceManager.getProGroupList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -34,13 +34,13 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun getDeviceListByGroup(wellGroupId: String) = launch({ + fun getDeviceListByGroup(context: Context, wellGroupId: String) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.getDeviceListByGroup(wellGroupId) val responseCode = response.separateResponseCode() @@ -51,14 +51,14 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun getDeviceListByPage(groupId: String, order: Int, page: Int) = launch({ + fun getDeviceListByPage(context: Context, groupId: String, order: Int, page: Int) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.getDeviceListByPage(groupId, order, page) val responseCode = response.separateResponseCode() @@ -69,14 +69,14 @@ ) } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail it.printStackTrace() }) - fun getGroupList() = launch({ + fun getGroupList(context: Context) = launch({ val response = RetrofitServiceManager.getGroupList() val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -84,13 +84,13 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() }) - fun changeGroupId(oldGroupId: String, newGroupId: String) = launch({ + fun changeGroupId(context: Context, oldGroupId: String, newGroupId: String) = launch({ val response = RetrofitServiceManager.changeGroupId(oldGroupId, newGroupId) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -98,7 +98,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/UploadImageViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/UploadImageViewModel.kt index 0d3faaf..01632e8 100644 --- a/app/src/main/java/com/casic/smarttube/vm/UploadImageViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/UploadImageViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.CommonResultModel @@ -18,7 +18,7 @@ private val gson = Gson() val resultModel = MutableLiveData() - fun uploadImage(image: File) = launch({ + fun uploadImage(context: Context, image: File) = launch({ val response = RetrofitServiceManager.uploadImage(image) val responseCode = response.separateResponseCode() if (responseCode == 200) { @@ -26,7 +26,7 @@ response, object : TypeToken() {}.type ) } else { - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { it.printStackTrace() diff --git a/app/src/main/java/com/casic/smarttube/vm/UserViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/UserViewModel.kt index 15f0d96..cf9cc72 100644 --- a/app/src/main/java/com/casic/smarttube/vm/UserViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/UserViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.UserDetailModel @@ -20,8 +20,8 @@ private val gson = Gson() val userDetailModel = MutableLiveData() - fun obtainUserDetail() = launch({ - val response = RetrofitServiceManager.obtainUserDetail() + fun getUserDetail() = launch({ + val response = RetrofitServiceManager.getUserDetail() val responseCode = response.separateResponseCode() if (responseCode == 200) { val userDetail = gson.fromJson( @@ -40,7 +40,7 @@ it.printStackTrace() }) - fun changePassword(oldPwd: String, newPwd: String) = launch({ + fun changePassword(context: Context, oldPwd: String, newPwd: String) = launch({ loadState.value = LoadState.Loading val response = RetrofitServiceManager.changePassword(oldPwd, newPwd) val responseCode = response.separateResponseCode() @@ -48,7 +48,7 @@ loadState.value = LoadState.Success } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail diff --git a/app/src/main/java/com/casic/smarttube/vm/VersionViewModel.kt b/app/src/main/java/com/casic/smarttube/vm/VersionViewModel.kt index 0148887..2c6a133 100644 --- a/app/src/main/java/com/casic/smarttube/vm/VersionViewModel.kt +++ b/app/src/main/java/com/casic/smarttube/vm/VersionViewModel.kt @@ -1,7 +1,7 @@ package com.casic.smarttube.vm +import android.content.Context import androidx.lifecycle.MutableLiveData -import com.casic.smarttube.base.BaseApplication import com.casic.smarttube.extensions.separateResponseCode import com.casic.smarttube.extensions.toErrorMessage import com.casic.smarttube.model.VersionResultModel @@ -18,9 +18,9 @@ private val gson = Gson() val versionResultModel = MutableLiveData() - fun updateVersion() = launch({ + fun updateVersion(context: Context) = launch({ loadState.value = LoadState.Loading - val response = RetrofitServiceManager.updateVersion() + val response = RetrofitServiceManager.getApplicationVersion() val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success @@ -29,7 +29,7 @@ ).data } else { loadState.value = LoadState.Fail - response.toErrorMessage().show(BaseApplication.obtainInstance()) + response.toErrorMessage().show(context) } }, { loadState.value = LoadState.Fail