Sub JobDone (Job As HttpJob)
If Job.Success Then
Dim parser As JSONParser
Dim response As String = Job.GetString
' Job.Class_Globals.t
parser.Initialize(response)
Dim rows As List
rows = parser.NextArray
'work with result
'rows is a List. Each item is a Map with the columns names as keys and the db values as the values.
Select Case Job.JobName
Case "GetAttachedFiles"
DBUtils.FnExecuteQuery(Starter.sql,"DELETE FROM AttachedFiles " )
If rows.Size > 0 Then
DBUtils.InsertMaps(Starter.sql,"AttachedFiles",rows)
FillAttachedFiles
End If
Case "DownLoadFile"
For i = 0 To rows.Size - 1
Log("Rows #" & i)
Dim m As Map
m = rows.Get(i)
'*********** Here I Start The Download *****************
DownloadFile (m.Get("FileName"),m.Get("FileType"))
'**************************************************
Job.Release
Return
Next
Job.Release
Return
End Select
Else
Select Case Job.JobName
Case "DownLoadFile"
Msgbox2("הורדת הקובץ נכשלה!","אחזקה","אישור","","",Null)
End Select
End If
Job.Release
ProgressDialogHide
End Sub
Sub DownloadFile(sFilePath As String,sFileType As String)
Starter.FTP.Initialize("FTP", Starter.FtpServer , 21, Starter.FtpUserName, Starter.FtpPass)
Starter.FTP.PassiveMode = True
Starter.FTP.DownloadFile(sFilePath & "." & sFileType,False,Starter.TargetFolder, "tmpFile." & sFileType)
End Sub
Sub FTP_DownloadProgress (ServerPath As String, TotalDownloaded As Long, Total As Long)
Dim s As String
s = "Downloaded " & Round(TotalDownloaded / 1000) & "KB"
If Total > 0 Then s = s & " out of " & Round(Total / 1000) & "KB"
Log(s)
End Sub
Sub FTP_DownloadCompleted (ServerPath As String, Success As Boolean)
Starter.FTP.Close
Log(ServerPath & ", Success=" & Success)
If Success = False Then
Log(LastException.Message)
Else
Try
Dim sFileType As String
sFileType = ServerPath.SubString(ServerPath.Length-4)
If sFileType.SubString2(0,1) = "." Then
sFileType = sFileType.SubString(1)
End If
Dim i As Intent
i.Initialize(i.ACTION_VIEW, "file://" & File.Combine(Starter.TargetFolder & "/", ServerPath))
Dim types As Map
types.Initialize
types.Put("apk","application/vnd.android.package-archive")
types.Put("au","audio/basic")
types.Put("avi","video/msvideo, video/avi, video/x-msvideo")
types.Put("bmp","image/bmp")
types.Put("bz2","Application/x-bzip2")
types.Put("css","text/css")
types.Put("dtd","Application/xml-dtd")
' types.Put("doc","Application/msword")
types.Put("doc","application/msword")
' types.Put("docx","Application/vnd.openxmlformats-officedocument.wordprocessingml.document")
types.Put("docx","application/msword")
types.Put("dotx","Application/vnd.openxmlformats-officedocument.wordprocessingml.template")
types.Put("es","Application/ecmascript")
types.Put("exe","Application/octet-stream")
types.Put("gif","image/gif")
types.Put("gz","Application/x-gzip")
types.Put("hqx","Application/mac-binhex40")
types.Put("html","text/html")
types.Put("jar","Application/java-archive")
types.Put("jpg","image/jpeg")
types.Put("js","Application/x-javascript")
types.Put("midi","audio/x-midi")
types.Put("mp3","audio/mpeg")
types.Put("mpeg","video/mpeg")
types.Put("ogg","audio/vorbis, Application/ogg")
types.Put("pdf","application/pdf")
types.Put("pl","Application/x-perl")
types.Put("png","image/png")
types.Put("potx","Application/vnd.openxmlformats-officedocument.presentationml.template")
types.Put("ppsx","Application/vnd.openxmlformats-officedocument.presentationml.slideshow")
types.Put("ppt","Application/vnd.ms-powerpointtd>")
types.Put("pptx","Application/vnd.openxmlformats-officedocument.presentationml.presentation")
types.Put("psv","Application/postscript")
types.Put("qt","video/quicktime")
types.Put("ra","audio/x-pn-realaudio, audio/vnd.rn-realaudio")
types.Put("ram","audio/x-pn-realaudio, audio/vnd.rn-realaudio")
types.Put("rdf","Application/rdf, Application/rdf+xml")
types.Put("rtf","Application/rtf")
types.Put("sgml","text/sgml")
types.Put("sit","Application/x-stuffit")
types.Put("sldx","Application/vnd.openxmlformats-officedocument.presentationml.slide")
types.Put("svg","image/svg+xml")
types.Put("swf","Application/x-shockwave-flash")
types.Put("tar.gz","Application/x-tar")
types.Put("tgz","Application/x-tar")
types.Put("tiff","image/tiff")
types.Put("tsv","text/TAB-separated-values")
types.Put("txt","text/plain")
types.Put("wav","audio/wav, audio/x-wav")
types.Put("xlam","Application/vnd.ms-excel.addin.macroEnabled.12")
types.Put("xls","application/vnd.ms-excel")
types.Put("xlsb","Application/vnd.ms-excel.sheet.binary.macroEnabled.12")
types.Put("xlsx","application/vnd.ms-excel")
' types.Put("xltx","Application/vnd.openxmlformats-officedocument.spreadsheetml.template")
types.Put("xltx","vnd.ms-excel")
types.Put("xml","Application/xml")
types.Put("zip","Application/zip, Application/x-compressed-zip")
If types.ContainsKey(sFileType) Then
i.SetType(types.Get(sFileType))
Else
i.SetType("application/vnd.android.package-archive")
End If
'
'
'
' Dim pdfAppsList As List
' pdfAppsList = QueryIntent(i)
' If pdfAppsList.size>0 Then
' ' pdf viewer(s) exists
' End If
'
'
StartActivity(i)
Catch
Log(LastException)
End Try
End If
End Sub