﻿B4A=true
Group=support
ModulesStructureVersion=1
Type=Class
Version=11.5
@EndOfDesignText@
Private Sub Class_Globals

	Private mCallBack As Object
	Private mEventName As String

	Private Retrofit As Amir_Retrofit
	Private Builder As Amir_RetrofitBuilder
	Private Body As Amir_RequestBody

 
End Sub

Public Sub Initialize(Caller As Object, pEventName As String)
	
	mCallBack = Caller
	mEventName = pEventName

	Builder.Initialize.baseUrl(urls.baseUrl)
	
	Builder.connectTimeout(100000)
	Builder.readTimeout(100000)
	Builder.writeTimeout(100000)

	Retrofit.Initialize(Builder)

End Sub

 
Public Sub uploadFile( DirFile As String , NameFile As String,myType As String,picName As String)  
   
	Dim url As String = urls.upload
 	Dim M As Map=CreateMap("imagenameg":Body.WithString("text/plain",NameFile) )
  	
	Retrofit.UploadFileWithPartMap("Upload",url,M,Body.WithPartFormData2("imageg",picName, _
	Body.WithProgressRequestBodyObservable("Upload",myType,DirFile,NameFile,2048)))
 	
 	
End Sub
  
Private Sub Upload_onNext (ResponseBody As Amir_ResponseBody)
 	
	Try
		
		Dim parser As JSONParser
		parser.Initialize(ResponseBody.String)
		Dim root As Map = parser.NextObject
		Dim response As Map = root.Get("response")
		Dim code As Int = response.Get("code")
	
		If code = 200 Then
			Dim message As String = response.Get("message")
		
			If message = "successfully" Then
				complet("successfull")
 			Else
				Log(message)
				complet("error")
			End If
 		Else
			Log(code)
			complet("error")
		End If
 	Catch
		complet("error")
		Log(LastException)
	End Try

End Sub

Private Sub Upload_onProgressUpdate (ProgressValue As Float,uploaded As Float,total As Float)
	progressV(ProgressValue)
End Sub

Private Sub Upload_onCompleted
	Log("Completed")
End Sub

Private Sub Upload_onError (error As String)
 	Log(error)
	complet("error: "&error)
End Sub

Private Sub complet(s1 As String)
	If SubExists(mCallBack, mEventName & "_completed") Then
		CallSub2(mCallBack, mEventName & "_completed",s1)
	End If
End Sub

Private Sub progressV(ProgressValue As String)
 	If SubExists(mCallBack, mEventName & "_onProgressUpdate") Then
		CallSub2(mCallBack, mEventName & "_onProgressUpdate",ProgressValue)
	End If
End Sub