Wire typed SSD server page flow
ober
b9cd9d74b5fc7be5e22136f154f4d258cd5f3996
--- a/templates/ssd-review-parts/MainActivityUi.ss +++ b/templates/ssd-review-parts/MainActivityUi.ss @@ -335,6 +335,21 @@ : (List String) (kotlin-member-get boxTypeDisplays)) + (extern + (mainUiServerOpenPdfs (activity : MainActivity)) + : + Unit + (kotlin-call mainServerOpenPdfs)) + (extern + (mainUiServerFindEndpoint (activity : MainActivity)) + : + Unit + (kotlin-call mainServerFindEndpointAsync)) + (extern + (mainUiServerShowEndpoint (activity : MainActivity)) + : + Unit + (kotlin-call mainServerShowEndpointDialog)) (def (mainUiMatchParent) : Int32 (int32 -1)) (def (mainUiWrapContent) : Int32 (int32 -2)) (def (mainUiAddActionRow3 (controls : LinearLayout) (activity : MainActivity) @@ -492,6 +507,27 @@ (mainActivityChangePage activity (mainUiPdfUriRaw activity) (mainUiPageCountRaw activity) (mainUiPageIndexRaw activity) (int32 1)))))) + (def (mainUiAddServerRow + (controls : LinearLayout) + (activity : MainActivity)) + : + Unit + (mainUiAddActionRow3 controls activity + (mainActivityButton + activity + "Server SSDs" + (mainUiButtonKindAccent) + (lambda () (mainUiServerOpenPdfs activity))) + (mainActivityButton + activity + "Find Server" + (mainUiButtonKindNeutral) + (lambda () (mainUiServerFindEndpoint activity))) + (mainActivityButton + activity + "Server URL" + (mainUiButtonKindNeutral) + (lambda () (mainUiServerShowEndpoint activity))))) (def (mainUiAddModeRow (controls : LinearLayout) (activity : MainActivity)) @@ -635,6 +671,7 @@ (mainUiOrientationVertical)) (mainUiAddFirstRow controls activity) (mainUiAddSecondRow controls activity) + (mainUiAddServerRow controls activity) (mainUiAddPageRow controls activity) (mainUiAddModeRow controls activity) (mainUiAddNavigationRow controls activity) --- a/templates/ssd-review-parts/UiTextHelpers.ss +++ b/templates/ssd-review-parts/UiTextHelpers.ss @@ -1797,6 +1797,26 @@ Unit (kotlin-member-call runOnUiThread)) (extern + (mainActivityServerUriRaw (uri : Uri)) + : + Bool + (kotlin-call mainServerUri)) + (extern + (mainActivityRenderServerPageRaw + (activity : MainActivity) + (uri : Uri)) + : + Unit + (kotlin-call mainServerRenderCurrentPage)) + (extern + (mainActivityRestoreServerPdfRaw + (activity : MainActivity) + (uri : Uri) + (page : Int32)) + : + Bool + (kotlin-call mainServerRestorePdf)) + (extern (ssdPdfFindDownloadSsdPdfsRaw (activity : MainActivity)) : (List SsdPdfChoice) @@ -5471,12 +5491,15 @@ preferences (mainActivityPrefLastPageIndexValue) (int32 0))]) - (try (begin - (mainActivityLoadPdf activity - (uriParse (nullableTextOrEmpty raw)) - (intentFlagGrantReadUriPermission) page - #t) - #t) + (try (let ([uri (uriParse (nullableTextOrEmpty raw))]) + (if (mainActivityServerUriRaw uri) + (mainActivityRestoreServerPdfRaw + activity uri page) + (begin + (mainActivityLoadPdf activity uri + (intentFlagGrantReadUriPermission) page + #t) + #t))) (catch (error : Exception) #f))))))) (def (sharedPreferencesEditorRemoveSavedViewportRaw (editor : Editor)) @@ -6375,26 +6398,28 @@ (if (pdfUriLoaded (mainActivityPdfUriRaw activity)) (let ([uri (uriOrEmpty (mainActivityPdfUriRaw activity))]) - (let ([renderPageIndex (mainActivityPageIndexRaw - activity)]) - (let ([renderGeneration (mainActivityAdvanceLoadGeneration - activity - (mainActivityLoadGenerationRaw - activity))] - [renderPdfName (mainActivityPdfNameRaw - activity)] - [renderPdfSha1 (mainActivityPdfSha1Raw - activity)] - [renderPageCount (mainActivityPageCountValueRaw - activity)] - [restoredViewport (mainActivityRestoredViewportFor - activity - uri - renderPageIndex)]) - (mainActivityRenderCurrentPageAsync activity (mainActivityReviewViewRaw activity) - uri renderPageIndex renderGeneration - renderPdfName renderPdfSha1 renderPageCount - restoredViewport)))) + (if (mainActivityServerUriRaw uri) + (mainActivityRenderServerPageRaw activity uri) + (let ([renderPageIndex (mainActivityPageIndexRaw + activity)]) + (let ([renderGeneration (mainActivityAdvanceLoadGeneration + activity + (mainActivityLoadGenerationRaw + activity))] + [renderPdfName (mainActivityPdfNameRaw + activity)] + [renderPdfSha1 (mainActivityPdfSha1Raw + activity)] + [renderPageCount (mainActivityPageCountValueRaw + activity)] + [restoredViewport (mainActivityRestoredViewportFor + activity + uri + renderPageIndex)]) + (mainActivityRenderCurrentPageAsync activity (mainActivityReviewViewRaw activity) + uri renderPageIndex renderGeneration + renderPdfName renderPdfSha1 renderPageCount + restoredViewport))))) (begin))) (def (mainActivityRenderCurrentPageAsync (activity : MainActivity) (view : SsdReviewView) (uri : Uri) (renderPageIndex : Int32)