diff --git a/app/src/main/java/com/nova/brain/glass/ui/CompositeLayupResultActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/CompositeLayupResultActivity.kt index e94662b..60a7cba 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/CompositeLayupResultActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/CompositeLayupResultActivity.kt @@ -4,6 +4,8 @@ import android.content.Intent import android.os.Environment import android.os.Handler import android.os.Looper +import android.view.MotionEvent +import android.view.ViewConfiguration import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView @@ -131,11 +133,6 @@ class CompositeLayupResultActivity : BaseActivity when (state) { CompositeLayupResultState.LOADING -> { @@ -253,6 +250,20 @@ class CompositeLayupResultActivity : BaseActivity { + applyMode(UiMode.LAYUP_WORKING) + true + } + UiMode.LAYUP_WORKING -> { + applyMode(UiMode.CONFIRM_FINISH) + true + } + else -> false + } + } + private fun retake() { binding.hint.text = "拍照中,请稍后..." isPhoto = true @@ -291,6 +302,42 @@ class CompositeLayupResultActivity : BaseActivity { + touchDownX = event.x + touchDownY = event.y + touchMoved = false + } + MotionEvent.ACTION_MOVE -> { + if (!touchMoved) { + val deltaX = kotlin.math.abs(event.x - touchDownX) + val deltaY = kotlin.math.abs(event.y - touchDownY) + touchMoved = deltaX > touchSlop || deltaY > touchSlop + } + } + MotionEvent.ACTION_UP -> { + if (!touchMoved && advanceLayupStage()) { + return true + } + } + MotionEvent.ACTION_CANCEL -> touchMoved = true + } + return super.dispatchTouchEvent(event) + } + + override fun onTouchEvent(event: MotionEvent?): Boolean { + return super.onTouchEvent(event) + } + override fun onResume() { super.onResume() GlassMediaServiceHelper.addPhotoCallback(photoCallback)