Move SSD review group selection to typed Kotlin
ober
a10b033e22ac31e188127549fef27240479fa23c
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -4654,7 +4654,10 @@ reviewViewClearDragPoints reviewViewClearInteractionDetails reviewViewSetLastTouchPosition reviewViewSetPointerPosition - mainActivitySelectGroupId mainActivityClearSession + mainActivitySelectGroupId + mainActivitySelectRequestedGroup + mainActivitySelectCurrentGroup + mainActivityClearSession mainActivityShowSession mainActivitySetAppendMode mainActivitySetSsdAreaMode mainActivityClearInteractionModes mainActivityStartAppendInteraction @@ -5455,6 +5458,36 @@ (begin (mainActivitySelectedGroupIdSet activity id) (reviewViewSelectGroupId view id))) + (def (mainActivitySelectRequestedGroup + (activity : MainActivity) + (view : SsdReviewView) + (session : (Nullable SsdSession)) + (groupId : (Nullable String))) : (Nullable SsdGroup) + (if (nullable-null? session) + (nullable-none SsdGroup) + (let ((group (ssdSessionFindGroupById (nullable-get session) groupId))) + (if (nullable-null? group) + (nullable-none SsdGroup) + (begin + (mainActivitySelectGroupId + activity + view + (nullable-some (SsdGroup-id (nullable-get group)))) + group))))) + (def (mainActivitySelectCurrentGroup + (activity : MainActivity) + (view : SsdReviewView) + (session : (Nullable SsdSession)) + (groupId : (Nullable String))) : (Nullable SsdGroup) + (let ((group (ssdCurrentSelectedGroup session groupId))) + (if (nullable-null? group) + (nullable-none SsdGroup) + (begin + (mainActivitySelectGroupId + activity + view + (nullable-some (SsdGroup-id (nullable-get group)))) + group)))) (def (mainActivityClearSession (activity : MainActivity) (view : SsdReviewView)) : Unit (begin @@ -7415,23 +7448,18 @@ " }" "" " private fun selectGroup(groupId: String?) {" - " if (sessionMissing(currentSession)) return" - " val session = ssdSessionOrEmpty(currentSession)" - " val group = ssdSessionFindGroupById(session, groupId)" + " val group = mainActivitySelectRequestedGroup(this, reviewView, currentSession, groupId)" " if (ssdGroupMissing(group)) return" " val selectedGroup = ssdGroupOrEmpty(group)" - " mainActivitySelectGroupId(this, reviewView, selectedGroup.id)" " reviewView.centerOnGroup(selectedGroup)" " reviewView.performHapticFeedback(HapticFeedbackConstants.CLOCK_TICK)" " setStatus(selectedGroupStatus(selectedGroup))" " }" "" " private fun selectedGroup(): SsdGroup? {" - " val group = ssdCurrentSelectedGroup(currentSession, selectedGroupId)" + " val group = mainActivitySelectCurrentGroup(this, reviewView, currentSession, selectedGroupId)" " if (ssdGroupMissing(group)) return null" - " val selectedGroup = ssdGroupOrEmpty(group)" - " mainActivitySelectGroupId(this, reviewView, selectedGroup.id)" - " return selectedGroup" + " return ssdGroupOrEmpty(group)" " }" "" " private fun selectRelativeGroup(delta: Int) {"