Move SSD activity interaction modes to typed Kotlin
ober
603ca051dad39d792941a22934e5db28a332a473
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -4646,7 +4646,10 @@ reviewViewSetSsdAreaFromNullableSession reviewViewShowSession reviewViewClearSessionState reviewViewShowBitmap mainActivitySelectGroupId mainActivityClearSession - mainActivityShowSession + mainActivityShowSession mainActivitySetAppendMode + mainActivitySetSsdAreaMode mainActivityClearInteractionModes + mainActivityStartAppendInteraction + mainActivityStartSsdAreaInteraction ssdBrowserResumeReady focusChangeShouldShowDropdown dialogReadyToShowDropdown focusedDialogReadyToShowDropdown permissionResultGranted downloadAccessBeforeRuntimePermissions @@ -4770,6 +4773,14 @@ (activity : MainActivity) (id : (Nullable String))) : Unit (kotlin-member-set selectedGroupId)) + (extern (mainActivityAppendModeSet + (activity : MainActivity) + (enabled : Bool)) : Unit + (kotlin-member-set appendMode)) + (extern (mainActivitySsdAreaModeSet + (activity : MainActivity) + (enabled : Bool)) : Unit + (kotlin-member-set ssdAreaMode)) (def (normalizeFiringArc (value : String)) : String (string-uppercase (string-trim value))) (def (normalizeLabel (value : String)) : String @@ -5297,6 +5308,30 @@ (mainActivityCurrentSessionSet activity (nullable-some session)) (mainActivitySelectGroupId activity view (nullable-none String)) (reviewViewShowSession view session))) + (def (mainActivitySetAppendMode (activity : MainActivity) + (enabled : Bool)) : Unit + (mainActivityAppendModeSet activity enabled)) + (def (mainActivitySetSsdAreaMode (activity : MainActivity) + (enabled : Bool)) : Unit + (mainActivitySsdAreaModeSet activity enabled)) + (def (mainActivityClearInteractionModes (activity : MainActivity) + (view : SsdReviewView)) : Unit + (begin + (mainActivitySetAppendMode activity #f) + (mainActivitySetSsdAreaMode activity #f) + (reviewViewSetSelectMode view #f #t))) + (def (mainActivityStartAppendInteraction (activity : MainActivity) + (view : SsdReviewView)) : Unit + (begin + (mainActivitySetAppendMode activity #t) + (mainActivitySetSsdAreaMode activity #f) + (reviewViewSetSelectMode view #t #t))) + (def (mainActivityStartSsdAreaInteraction (activity : MainActivity) + (view : SsdReviewView)) : Unit + (begin + (mainActivitySetAppendMode activity #f) + (mainActivitySetSsdAreaMode activity #t) + (reviewViewSetSelectMode view #t #f))) (def (shouldCaptureViewport (includeViewport : Bool)) : Bool includeViewport) (def (viewportForSave (view : SsdReviewView) @@ -6750,8 +6785,8 @@ " private var currentBitmap: Bitmap? = null" " internal var currentSession: SsdSession? = null" " internal var selectedGroupId: String? = null" - " private var appendMode: Boolean = false" - " private var ssdAreaMode: Boolean = false" + " internal var appendMode: Boolean = false" + " internal var ssdAreaMode: Boolean = false" " private var reopenSsdBrowserOnResume: Boolean = false" " @Volatile private var loadGeneration: Int = 0" " private val boxTypeDisplays: List<String> by lazy { boxTypeDisplays(BoxTypes.load(this)) }" @@ -7077,17 +7112,14 @@ "" " private fun setSelectMode(enabled: Boolean) {" " if (selectModeDisabled(enabled)) {" - " appendMode = false" - " ssdAreaMode = false" + " mainActivityClearInteractionModes(this, reviewView)" " }" " reviewViewSetSelectMode(reviewView, enabled, !ssdAreaMode)" " setStatus(selectModeStatus(ssdAreaMode, appendMode, reviewView.selectMode))" " }" "" " private fun finishSelectInteraction() {" - " appendMode = false" - " ssdAreaMode = false" - " reviewViewSetSelectMode(reviewView, false, true)" + " mainActivityClearInteractionModes(this, reviewView)" " reviewView.clearInteractionState()" " }" "" @@ -7102,24 +7134,19 @@ " val session = ssdSessionOrEmpty(currentSession)" " val group = ssdSessionFindGroupById(session, selectedGroupId)" " if (ssdGroupMissing(group)) {" - " appendMode = false" - " reviewViewSetSelectMode(reviewView, false, true)" + " mainActivityClearInteractionModes(this, reviewView)" " setStatus(\"Select an existing group first, then tap Append\")" " return" - " }" + " }" " val appendGroup = ssdGroupOrEmpty(group)" - " appendMode = true" - " ssdAreaMode = false" - " reviewViewSetSelectMode(reviewView, true, true)" + " mainActivityStartAppendInteraction(this, reviewView)" " reviewViewSelectGroupId(reviewView, appendGroup.id)" " setStatus(appendModeStatus(appendGroup))" " }" "" " private fun startSsdAreaMode() {" " if (sessionMissing(currentSession)) return" - " appendMode = false" - " ssdAreaMode = true" - " reviewViewSetSelectMode(reviewView, true, false)" + " mainActivityStartSsdAreaInteraction(this, reviewView)" " reviewViewSelectGroupId(reviewView, selectedGroupId)" " reviewView.performHapticFeedback(HapticFeedbackConstants.CLOCK_TICK)" " setStatus(\"SSD area mode: drag around the ship SSD; tags outside that area will be removed\")" @@ -7482,8 +7509,7 @@ " val session = ssdSessionOrEmpty(currentSession)" " val group = ssdSessionFindGroupById(session, selectedGroupId)" " if (ssdGroupMissing(group)) {" - " appendMode = false" - " reviewViewSetSelectMode(reviewView, false, true)" + " mainActivityClearInteractionModes(this, reviewView)" " setStatus(appendCanceledNoGroupStatus())" " return" " }" @@ -7499,8 +7525,7 @@ " .setMessage(detectedBoxesMessage(detectedIds.size))" " .setView(count)" " .setNegativeButton(\"Cancel\") { _, _ ->" - " appendMode = false" - " reviewViewSetSelectMode(reviewView, false, true)" + " mainActivityClearInteractionModes(this, reviewView)" " setStatus(appendCanceledStatus())" " }" " .setPositiveButton(\"Append\", null)"