﻿B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Activity
Version=13.4
@EndOfDesignText@
#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: False
#End Region

Sub Process_Globals


End Sub

Sub Globals

	Private recNeshan As AX_RecyclerView
 	
	Dim lab_back As Label
	Dim Label1 As Label
	
	Dim Retrofit As Amir_Retrofit
	Dim Manager_add   As Amir_RetrofitManager
	Dim Builder_add   As Amir_RetrofitBuilder
 
 	Dim list_link As List
 	Dim list_title As List
	Dim list_matn  As List
	Dim list_pic  As List
 
	Dim glide As PersianGlide

End Sub

Sub Activity_Create(FirstTime As Boolean)
 
	Activity.LoadLayout("neshanlayout")
	func.SetRipple(lab_back ,0x337FD3B1,0x884C9A7B,16)
	Label1.Text = func.gland(420)
	
	Label1.Typeface = Typeface.CreateNew(Typeface.LoadFromAssets(func.font3),Typeface.STYLE_BOLD)
	func.MinimomFontLabel(Label1,14)

	recNeshan.Adapter = recNeshan.DefaultAdapter
 
	list_title.Initialize
	list_link.Initialize
	list_matn.Initialize
	list_pic.Initialize

	Builder_add.Initialize
	Builder_add.baseUrl(urls.baseUrl).WithManager
	Builder_add.addGsonConverterFactory
	Builder_add.addHeader(CreateMap("Content-Type":"application/json"))
	Retrofit.Initialize(Builder_add)
	Manager_add = Retrofit.Utils.GetRetrofitManager(Retrofit)

	tsetUpdate
	
End Sub
 
Sub tsetUpdate
  		
	ProgressDialogShow2(func.gland(2),False)

	Dim params As Map
	Dim params1 As Map
	params.Initialize
	params1.Initialize
 	
	params.Put("id2", func.readPFM("kkkt2ypes"))

	params1.Put("request_params",params)
	Retrofit.Json("send",urls.apps,Retrofit.toJson(params1))
  
End Sub

   
Sub send_onNext (ResponseBody As Amir_ResponseBody)
	
	ProgressDialogHide
 
  	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 List = response.Get("message")
			For Each colmessage As Map In message
     				
				Dim link As String = colmessage.Get("link")
				Dim pic As String = colmessage.Get("pic")
 				Dim title As String = colmessage.Get("title")
 				Dim matn As String = colmessage.Get("matn")
 			
				list_link.Add(link)
 				list_title.Add(title)
				list_matn.Add(matn)
				list_pic.Add(pic)
 
			Next

			CallSubDelayed(Me,"ref_rec")

		Else
			func.ToastERROR(func.gland(3))
		End If

	Catch
		func.ToastERROR(func.gland(3))
		Log(LastException)
	End Try
	
End Sub
Sub send_onError (Error As String)
	Log(Error)
	func.ToastERROR(func.gland(3))
	ProgressDialogHide
End Sub
 
Sub ref_rec
	recNeshan.Adapter2.NotifyDataSetChanged
End Sub

 
Sub recNeshan_onCreateViewHolder (Parent As Panel,ViewType As Int)
 	
	Dim p_grid_asli As Panel
	p_grid_asli.Initialize("pan")
	Parent.AddView(p_grid_asli,5%x,10dip,90%x,105dip)
   
	Dim lab_image As ImageView
	lab_image.Initialize("")
	p_grid_asli.AddView(lab_image,72%x,5dip,15%x,15%x)

 	Dim lab_title As Label
	lab_title.Initialize("")
	p_grid_asli.AddView(lab_title,3%x,5dip,66%x,30dip)


	Dim lab_matn As Label
	lab_matn.Initialize("")
	p_grid_asli.AddView(lab_matn,3%x,lab_title.Top+lab_title.Height+5dip,66%x,60dip)

	Dim lab_line As Label
	lab_line.Initialize("")
	p_grid_asli.AddView(lab_line,89%x,0dip,1%x,105dip)
 

End Sub

Sub recNeshan_GetItemCount As Int
	Return list_title.Size
End Sub
 
Sub recNeshan_onBindViewHolder (Parent As Panel,Position As Int)
 
	Dim Panel As Panel = Parent.GetView(0)
	Dim lab_image As ImageView=Panel.GetView(0)
 	Dim lab_title As Label=Panel.GetView(1)
	Dim lab_matn As Label=Panel.GetView(2)
	Dim lab_line As Label=Panel.GetView(3)
 
	Panel.Tag = Position
	Panel.Elevation=3dip

	func.SetRipple(Panel,Colors.White,0xaaeeeeee,10dip)

 	lab_title.Text = list_title.Get(Position)
	lab_title.Typeface=Typeface.CreateNew( Typeface.LoadFromAssets(func.font3),Typeface.STYLE_BOLD)
	lab_title.TextSize=15
	lab_title.TextColor=Colors.Black
	lab_title.Gravity=Bit.Or(Gravity.CENTER,Gravity.CENTER_VERTICAL)
	
	Dim dfg As String = list_pic.Get(Position)

	If dfg.Length = 0 Or dfg=Null Or dfg.ToLowerCase = "null" Then
		lab_image.Bitmap = LoadBitmap(File.DirAssets, "icon_back.png")
	Else
 		
		glide.With("glide").asBitmap.diskCacheStrategy(glide.CacheStrategy_AUTOMATIC) _
	.load(dfg).into(lab_image)
 
	End If
	
	Dim su1 As StringUtils
	lab_title.Height=su1.MeasureMultilineTextHeight(lab_title,lab_title.Text)
  
	Dim textFarsi As String = list_matn.Get(Position)
	
	lab_matn.Text =  func.setThing0(textFarsi,"Ꞅ")
	lab_matn.Typeface=Typeface.LoadFromAssets(func.font3)
	lab_matn.TextSize=14
	lab_matn.TextColor=Colors.Gray
	lab_matn.Gravity=Bit.Or(Gravity.RIGHT,Gravity.CENTER_VERTICAL)
  	
	Dim su As StringUtils
	lab_matn.Height=su.MeasureMultilineTextHeight(lab_matn,lab_matn.Text)

	Dim drlabvanet As ColorDrawable
	drlabvanet.Initialize2(0xFF4C9A7B,14,0,Colors.DarkGray)
	lab_line.Background = drlabvanet
	lab_line.Height=lab_matn.Height+lab_matn.Top+5dip
	
	lab_image.Top = lab_line.Height / 2 - 7.5%x
	
	Panel.Height=lab_matn.Height+lab_matn.Top+5dip
	Parent.Height=lab_matn.Top+lab_matn.Height+18dip

End Sub

Sub pan_Click
	
	Dim pan As Panel = Sender
	
	Dim Position As Int = pan.Tag
 	
	Dim int1 As PhoneIntents
	StartActivity(int1.OpenBrowser(list_link.Get(Position)))

End Sub
   
 
Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

  
Sub lab_back_Click
	close
End Sub
 
Sub close
	Manager_add.CancelAll
	Activity.Finish
End Sub
 
 
Sub Activity_KeyPress (KeyCode As Int) As Boolean
 	
	If KeyCode = KeyCodes.KEYCODE_BACK Then
		close
	End If
 	
	Return True
	
End Sub
  
  
