﻿B4A=true
Group=Book
ModulesStructureVersion=1
Type=Class
Version=11
@EndOfDesignText@
Sub Class_Globals
  
	Private sql2 As SQL
	Private rs2  As ResultSet
 
	Private listId 			As List
	Private listPosition 	As List
	Private listName As List
	Private listMattn As List
	Private listNumber As List
	Private listEnName As List
	Private listpage As List
 
	Private recNeshan As AX_RecyclerView
	
	Dim content As Panel
	
	Dim lab_back As Label
	
	Dim booklAs As Int
	Private Label1 As Label
	
	Private lan2FaEn As String

	
	
End Sub

Public Sub Initialize
End Sub
  
Public Sub onCreateView (Parent As Panel)
	
	
 	
	content = Parent
	content.Color = 0xFFFBFDFF

	lan2FaEn = (func.readNIS("lan2FaEn",1))

	Dim l2n As Label
	l2n.Initialize("")
	content.AddView(l2n,0,50%y-30dip,100%x,60dip)
	l2n.Typeface = Typeface.CreateNew(Typeface.LoadFromAssets(func.font3),Typeface.STYLE_BOLD)
	l2n.Text=func.gland(54)
	l2n.Gravity=Bit.Or(Gravity.CENTER,Gravity.CENTER_VERTICAL)
	l2n.textColor = Colors.Black
	l2n.TextSize=14

	l2n.Visible = True
	Sleep(5)
	addView
	l2n.Visible = False

 
	If sql2.IsInitialized=False Then
		sql2.Initialize(File.DirInternal,"fav.db",True)
	End If

	listId.Initialize
	listPosition.Initialize
	listName.Initialize
	listMattn.Initialize
	listNumber.Initialize
	listEnName.Initialize
	listpage.Initialize
	

	booklAs = func.readPFM("booklAs")
 
	If booklAs = 1 Then
		rs2 = sql2.ExecQuery2("SELECT id,name,number,position,mattn,enname,page FROM favebook where lang = ? order by id desc",Array As String(lan2FaEn))
	Else
		rs2 = sql2.ExecQuery2("SELECT id,name,number,position,mattn,enname,page FROM favebook where enname=? and lang = ? order by id desc",Array As String(func.readPFM("ennameBook"),lan2FaEn))
 	End If

	
	Do While rs2.NextRow
 
		listId.add(rs2.GetInt("id"))
		listPosition.add(rs2.GetString("position"))
		listName.add(rs2.GetString("name"))
		listMattn.add(rs2.GetString("mattn"))
		listNumber.add(rs2.GetString("number"))
		listEnName.add(rs2.GetString("enname"))
		listpage.add(rs2.GetString("page"))
  
	Loop : rs2.Close
	

End Sub


Sub addView
	
	content.LoadLayout("neshanlayout")
	func.SetRipple(lab_back ,0x337FD3B1,0x884C9A7B,16)

	Label1.Text = func.gland(77)
	Label1.Typeface = Typeface.CreateNew(Typeface.LoadFromAssets(func.font3),Typeface.STYLE_BOLD)
	func.MinimomFontLabel(Label1,14)

End Sub


Private Sub recNeshan_onCreateViewHolder (Parent As Panel,ViewType As Int)

	Dim pan As Panel
	pan.Initialize("pan")
	Parent.AddView(pan,5%x + 60dip,5dip,90%x-60dip,60dip)

	Dim lab1 As Label
	lab1.Initialize("")
	pan.AddView(lab1,5dip,5dip,pan.Width-20dip,50dip)
	
	Dim lab2 As Label
	lab2.Initialize("L_Delete")
	Parent.AddView(lab2,5%x,12.5dip,45dip,45dip)
 

End Sub

Private Sub recNeshan_GetItemCount As Int
	Return listId.Size
End Sub
 
Private Sub recNeshan_onBindViewHolder (Parent As Panel,Position As Int)
	
	Dim pan As Panel=Parent.GetView(0)
	Dim lab1 As Label=pan.GetView(0)
	Dim lab2 As Label=Parent.GetView(1)
   	
	pan.Tag = Position
	pan.Elevation = 2dip
	func.SetRipple(pan,Colors.White,0x99eeeeee,25)
  	
	
	'***************************************
	'***************************************

 
	Dim textArabi As String
 	textArabi= (listName.Size-(Position)) &"- "&func.gland(115)&" -"&listName.Get(Position)&" "&func.gland(121)&" ,"&listpage.Get(Position)&"_ "&listMattn.Get(Position)
  
	lab2.Text = Chr(0xE872)
	func.SetRipple(lab2 ,0xFF4C9A7B,0xFF0A7048,16)
	lab2.Typeface = Typeface.MATERIALICONS
	lab2.Gravity = Bit.Or(Gravity.CENTER,Gravity.CENTER_VERTICAL)
	lab2.TextSize = 25
	lab2.TextColor = Colors.White
	lab2.Tag = Position
	
	func.setEllipsize(lab1,"END")
	lab1.Text = textArabi
	lab1.Typeface= Typeface.LoadFromAssets(func.font3)
	lab1.Gravity=Bit.Or(Gravity.RIGHT,Gravity.CENTER_VERTICAL)
	lab1.textColor = 0xFF4F2800
	lab1.TextSize = 14

	pan.Height = 60dip
	Parent.Height = pan.Top+pan.Height+5dip
 
End Sub

Sub pan_Click
	
	Dim ll As Panel = Sender
	Dim ii As Int = ll.Tag
	
	func.savePFM("sooreh_Last_NeshanBook",3)
	
	func.savePFM("neshan",listPosition.Get(ii))
  
	func.savePFM("NameBook",listName.Get(ii))
	func.savePFM("idBook",listNumber.Get(ii))
	
	func.savePFM("ennameBook",listEnName.Get(ii))
    
	CallSub2(actBook,"show_hide_frag",func.listInitialize(16,Me,""))

End Sub

Sub L_Delete_Click
	Dim ll As Label = Sender
	Dim ii As Int = ll.Tag

	sql2.ExecNonQuery("DELETE FROM favebook where id = '"&listId.Get(ii)&"' " )
  
	listId.clear
	listPosition.clear
	listName.clear
	listMattn.clear
	listNumber.clear
	listEnName.clear
	listpage.clear


	If booklAs = 1 Then
		rs2 = sql2.ExecQuery2("SELECT id,name,number,position,mattn,enname,page FROM favebook where lang = ? order by id desc",Array As String(lan2FaEn))
	Else
		rs2 = sql2.ExecQuery2("SELECT id,name,number,position,mattn,enname,page FROM favebook where enname=? and lang = ? order by id desc",Array As String(func.readPFM("ennameBook"),lan2FaEn))
	End If
	
	Do While rs2.NextRow
 
		listId.add(rs2.GetInt("id"))
		listPosition.add(rs2.GetString("position"))
		listName.add(rs2.GetString("name"))
		listMattn.add(rs2.GetString("mattn"))
		listNumber.add(rs2.GetString("number"))
		listEnName.add(rs2.GetString("enname"))
		listpage.add(rs2.GetString("page"))
  
	Loop : rs2.Close
	
	

	CallSubDelayed(Me,"ref_rec")

	func.ToastSUCCESS(func.gland(81))
	
End Sub

Sub ref_rec
	recNeshan.Adapter2.NotifyDataSetChanged
End Sub

public Sub onHiddenChanged
 		
	listId.clear
	listPosition.clear
	listName.clear
	listMattn.clear
	listNumber.clear
	listEnName.clear
	listpage.clear


	If booklAs = 1 Then
		rs2 = sql2.ExecQuery2("SELECT id,name,number,position,mattn,enname,page FROM favebook where lang = ? order by id desc",Array As String(lan2FaEn))
	Else
		rs2 = sql2.ExecQuery2("SELECT id,name,number,position,mattn,enname,page FROM favebook where enname=? and lang = ? order by id desc",Array As String(func.readPFM("ennameBook"),lan2FaEn))
	End If
	
	Do While rs2.NextRow
 
		listId.add(rs2.GetInt("id"))
		listPosition.add(rs2.GetString("position"))
		listName.add(rs2.GetString("name"))
		listMattn.add(rs2.GetString("mattn"))
		listNumber.add(rs2.GetString("number"))
		listEnName.add(rs2.GetString("enname"))
		listpage.add(rs2.GetString("page"))
  
	Loop : rs2.Close
	
		
	CallSubDelayed(Me,"ref_rec")
		
End Sub


Sub lab_back_Click
	close
End Sub
 
Sub close
	
	If booklAs = 1 Then
		CallSub2(actBook,"show_hide_frag",func.listInitialize(14,Me,""))
	Else
		CallSub2(actBook,"show_hide_frag",func.listInitialize(21,Me,""))

	End If
	
End Sub
public Sub onKey (KeyCode As Int)

	If KeyCode = KeyCodes.KEYCODE_BACK Then
		close
	End If
	
End Sub