Move SSD review focus helpers to typed Kotlin

ober

7acc7a1bf5e99ad875800dbbbdc436d0e050d851

diff --git a/templates/ssd-review.ss b/templates/ssd-review.ss
index cda52de..5390440 100644
--- a/templates/ssd-review.ss
+++ b/templates/ssd-review.ss
@@ -4664,6 +4664,8 @@
                 reviewViewPerformHaptic
                 reviewViewPerformHapticAndInvalidate
                 reviewViewRefresh
+                reviewViewFitImage
+                reviewViewCenterOnGroup
                 mainActivitySelectGroupId
                 mainActivitySelectRequestedGroup
                 mainActivitySelectCurrentGroup
@@ -4809,6 +4811,12 @@
           (kotlin-member-call performHapticFeedback))
         (extern (reviewViewInvalidate (view : SsdReviewView)) : Unit
           (kotlin-member-call invalidate))
+        (extern (reviewViewFitImageRaw (view : SsdReviewView)) : Unit
+          (kotlin-member-call fitImage))
+        (extern (reviewViewCenterOnGroupRaw
+                  (view : SsdReviewView)
+                  (group : SsdGroup)) : Unit
+          (kotlin-member-call centerOnGroup))
         (extern (reviewViewSelectedGroupIdSet (view : SsdReviewView)
                                               (id : (Nullable String))) : Unit
           (kotlin-member-set selectedGroupId))
@@ -5509,6 +5517,12 @@
             (begin)))
         (def (reviewViewRefresh (view : SsdReviewView)) : Unit
           (reviewViewInvalidate view))
+        (def (reviewViewFitImage (view : SsdReviewView)) : Unit
+          (reviewViewFitImageRaw view))
+        (def (reviewViewCenterOnGroup
+               (view : SsdReviewView)
+               (group : SsdGroup)) : Unit
+          (reviewViewCenterOnGroupRaw view group))
         (def (mainActivitySelectGroupId (activity : MainActivity)
                                         (view : SsdReviewView)
                                         (id : (Nullable String))) : Unit
@@ -7272,7 +7286,7 @@
 	       "            addView(actionRow("
 	       "                button(\"Open Any\") { openAnyPdf() },"
 	       "                button(\"Rotate\") { rotatePage() },"
-	       "                button(\"Fit\") { reviewView.fitImage() },"
+	       "                button(\"Fit\") { reviewViewFitImage(reviewView) },"
 	       "            ))"
 	       "            addView(actionRow("
 	       "                button(\"Prev Page\") { changePage(-1) },"
@@ -7604,7 +7618,7 @@
        "        val group = mainActivitySelectRequestedGroup(this, reviewView, currentSession, groupId)"
        "        if (ssdGroupMissing(group)) return"
        "        val selectedGroup = ssdGroupOrEmpty(group)"
-	       "        reviewView.centerOnGroup(selectedGroup)"
+	       "        reviewViewCenterOnGroup(reviewView, selectedGroup)"
 	       "        reviewViewPerformHaptic(reviewView, HapticFeedbackConstants.CLOCK_TICK)"
        "        setStatus(selectedGroupStatus(selectedGroup))"
        "    }"