...
Public Sub ChooseDocument (TypeFile as String, Text as String) As ResumableSub
Wait For (MediaFromContentChooserTypeFile(TypeFile, Text)) Complete (Result As MediaChooserResult)
Return Result
End Sub
...
'code for b4a
Private Sub MediaFromContentChooser (Video As Boolean) As ResumableSub
' Dim cc As ContentChooser
' cc.Initialize("cc")
' Wait For (StartForegroundService) Complete (unused As Boolean)
' If Video Then
' cc.Show("video/*", "Choose video")
' Else
' cc.Show("image/*", "Choose image")
' End If
' Wait For CC_Result (Success As Boolean, Dir As String, FileName As String)
' StopForegroundService
' If Success Then
' Dim TargetFileName As String = GetTempFile
' Dim Complete(1) As Boolean
' MonitorTargetFile(TargetFileName, 0, Complete)
' Wait For (File.CopyAsync(Dir, FileName, TempFolder, TargetFileName)) Complete (Success As Boolean)
' Complete(0) = True
' Return CreateMediaChooserResult(True, TempFolder, TargetFileName, IIf(Video, "video/*", DetectImageMime(TempFolder, TargetFileName)))
' End If
' Return NO_RESULT
If Video Then
Wait For (MediaFromContentChooserTypeFile("video/*", "Choose video")) Complete (Result As MediaChooserResult)
Return Result
Else
Wait For (MediaFromContentChooserTypeFile("image/*", "Choose image")) Complete (Result As MediaChooserResult)
Return Result
End If
Return NO_RESULT
End Sub
Private Sub MediaFromContentChooserTypeFile(TypeFile as String, Text As String) As ResumableSub
Dim cc As ContentChooser
cc.Initialize("cc")
Wait For (StartForegroundService) Complete (unused As Boolean)
cc.Show(TypeFile, Text)
Wait For CC_Result (Success As Boolean, Dir As String, FileName As String)
StopForegroundService
If Success Then
Dim TargetFileName As String = GetTempFile
Dim Complete(1) As Boolean
MonitorTargetFile(TargetFileName, 0, Complete)
Wait For (File.CopyAsync(Dir, FileName, TempFolder, TargetFileName)) Complete (Success As Boolean)
Complete(0) = True
Return CreateMediaChooserResult(True, TempFolder, TargetFileName, TypeFile)
End If
Return NO_RESULT
End Sub
...