18034727885
2026-06-26 253f680fb9666751e0f9a8e5e8f2f9e3eb1894e3
app/src/main/java/com/example/smart/ui/project/ProjectDetailsActivity.kt
@@ -10,28 +10,22 @@
import android.widget.ImageView
import androidx.activity.viewModels
import androidx.core.app.ActivityCompat
import androidx.fragment.app.viewModels
import com.amap.api.location.AMapLocation
import com.example.basecore.BaseBindingActivity
import com.example.basecore.amap.ILocationCallBack
import com.example.basecore.amap.LocationProvider
import com.example.basecore.util.SchemeUtils
import com.example.basecore.util.ToastUtils
import com.example.basecore.util.dp2px
import com.example.smart.R
import com.example.smart.databinding.ActivityProjectDetailsBinding
import com.example.smart.ui.options.device.RequestDeviceActivity
import com.example.smart.ui.project.popup.ProjectDetailsPopupWindow
import com.example.smart.ui.project.provider.ProjectPageAdapter
import com.example.smart.util.projectEventScheme
import com.example.smart.widget.dialog.CommonDialog
import com.example.smart.widget.dialog.LoadingDialog
import com.google.android.material.tabs.TabLayoutMediator
import com.example.basecore.util.showCenterToast
import com.example.basecore.util.showOnlyToast
import com.example.basecore.util.startAct
import com.example.basecore.util.toast
import com.example.smart.R
import com.example.smart.databinding.ActivityProjectDetailsBinding
import com.example.smart.enumlist.CheckTaskState
import com.example.smart.ui.exclude.ExcludeActivity
import com.example.smart.ui.options.device.RequestDeviceActivity
import com.example.smart.ui.project.bean.AddressInfo
import com.example.smart.ui.project.bean.TaskDetailInfo
import com.example.smart.ui.project.check.CheckViewModel
import com.example.smart.ui.project.check.EditDialog
@@ -39,9 +33,13 @@
import com.example.smart.ui.project.check.bean.CheckRefresh
import com.example.smart.ui.project.frag.ProjectParam
import com.example.smart.ui.project.onduty.PostListActivity
import com.example.smart.ui.project.onduty.bean.OnDutyBean
import com.example.smart.util.createWorkScheme
import com.example.smart.ui.project.popup.ProjectDetailsPopupWindow
import com.example.smart.ui.project.provider.ProjectPageAdapter
import com.example.smart.util.projectEventScheme
import com.example.smart.util.signProject
import com.example.smart.widget.dialog.CommonDialog
import com.example.smart.widget.dialog.LoadingDialog
import com.google.android.material.tabs.TabLayoutMediator
import org.greenrobot.eventbus.EventBus
class ProjectDetailsActivity : BaseBindingActivity() {
@@ -351,24 +349,37 @@
    private fun onGenerateLocation() {
        mLocationProvider.getLocation(object : ILocationCallBack {
            override fun onLocationSuccess(address: String, lat: Double, lon: Double) {
            override fun onLocationSuccess(aMapLocation: AMapLocation) {
                super.onLocationSuccess(aMapLocation)
                binding.commonLayout.post {
                    if (TextUtils.isEmpty(address)) {
                    if (TextUtils.isEmpty(aMapLocation.address)) {
                        toast("位置信息获取失败,请重试...")
                        return@post
                    }
                    if (taskDetailInfo == null) {
                        return@post
                    }
                    taskDetailInfo?.location = address
                    taskDetailInfo?.apply {
                        projectId = taskDetailInfo!!.project.id.toString()
                        addressInfo = AddressInfo(
                            province = aMapLocation.province,
                            city = aMapLocation.city,
                            district = aMapLocation.district,
                            detail = aMapLocation.address,
                            lonLat = "${aMapLocation.longitude},${aMapLocation.latitude}"
                        )
                    }
                    taskDetailInfo?.location = aMapLocation.address
                    val gps = ArrayList<Double>()
                    gps.add(lat)
                    gps.add(lon)
                    gps.add(aMapLocation.latitude)
                    gps.add(aMapLocation.longitude)
                    taskDetailInfo?.gps = gps
                    viewModel.editTask(taskDetailInfo!!)
                }
            }
            override fun onLocationSuccess(address: String, lat: Double, lon: Double) {
            }