﻿B4A=true
Group=Book
ModulesStructureVersion=1
Type=Activity
Version=11
@EndOfDesignText@
#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: False
	
#End Region

Sub Process_Globals

	Private timerR As Timer

End Sub

Sub Globals
  
	Dim panel4  As Panel
	Dim panel14 As Panel
 	Dim panel16 As Panel
	Dim panel18 As Panel
	Dim panel20 As Panel
	Dim panel21 As Panel
	Dim panel22 As Panel
	Dim panel26 As Panel
	Dim panel27 As Panel
	Dim panel28 As Panel
	Dim panel29 As Panel
	Dim panel30 As Panel
 	Dim panel32 As Panel
	Dim panel33 As Panel

	Dim zero4  As fragSetting1
	Dim zero14 As fragMenuBook
 	Dim zero16 As fragMatnBook
	Dim zero18 As fragNeshanBook
	Dim zero20 As fragSearchBook
	Dim zero21 As fragIntroBook
	Dim zero22 As fragPdfBook
	Dim zero26 As fragDownloadbook
	Dim zero27 As fragNote1
	Dim zero28 As fragNote2
	Dim zero29 As fragNote3
	Dim zero30 As fragPrv_book
 	Dim zero32 As fragPrv_book2
	Dim zero33 As fragPrv_book3
 
	Private numBack As Int

 	Private isAdd16 As Boolean
	Private isAdd18 As Boolean
	Private isAdd32 As Boolean
	Private isAdd20 As Boolean
	Private isAdd21 As Boolean
	Private isAdd26 As Boolean
 
	Dim rp As RuntimePermissions

	Dim SdkVersion As Int
	Dim device As Phone

	Private customDialog As customMaterialDialog

End Sub

Sub Activity_Create(FirstTime As Boolean)

	close2

	addPan(panel4 )
	addPan(panel14)
 	addPan(panel16)
	addPan(panel18)
	addPan(panel20)
	addPan(panel21)
	addPan(panel22)
	addPan(panel26)
	addPan(panel27)
	addPan(panel28)
	addPan(panel29)
	addPan(panel30)
 	addPan(panel32)
	addPan(panel33)
 

	zero4 .Initialize
	zero14.Initialize
 	zero16.Initialize
	zero18.Initialize
	zero20.Initialize
	zero21.Initialize
	zero22.Initialize
	zero26.Initialize
	zero27.Initialize
	zero28.Initialize
	zero29.Initialize
	zero30.Initialize
 	zero32.Initialize
	zero33.Initialize
  
	If func.readPFM("typesSerchBk") = 1 Then
		show_hide_frag(func.listInitialize(16,Me,""))

	Else
	
		If func.readPFM("playQuranN3") = 1 Then
			
			If func.readPFM("sooreh_Last_2NeshanBook") = 2 Then
				show_hide_frag(func.listInitialize(34,Me,""))
			Else
				show_hide_frag(func.listInitialize(21,Me,""))
			End If

		Else
			show_hide_frag(func.listInitialize(14,Me,""))
		End If
	End If
 
	customDialog.Initialize(Activity,Me)

	SdkVersion = device.SdkVersion
	PermissionRequest

	timerR.Initialize("timerR",4000)
	timerR.Enabled = False

End Sub

'************

Sub timerR_Tick
	If numBack = 14 Then
		zero14.timerR_Tick
	End If

End Sub
 
Sub startT
	timerR.Enabled = False
	timerR.Interval = 4000
	timerR.Enabled = True
End Sub
 
Sub resetT
	timerR.Enabled = False
End Sub
 
'************
Sub PermissionRequest
 	
	Wait For (CheckAndRequestNotificationPermission) Complete (HasPermission As Boolean)
	If HasPermission Then
		 
	Else
		MsgboxPermission(func.gland(20)&CRLF&"Notifications",func.gland(19))
	End If
 	
End Sub
 
Sub Dialog_Negative
End Sub

Sub Dialog_Positive
	CheckAndRequestNotificationPermission
End Sub

Private Sub CheckAndRequestNotificationPermission As ResumableSub

	If SdkVersion < 33 Then Return True
	Dim ctxt As JavaObject
	ctxt.InitializeContext
	Dim targetSdkVersion As Int = ctxt.RunMethodJO("getApplicationInfo", Null).GetField("targetSdkVersion")
	If targetSdkVersion < 33 Then Return True
	Dim NotificationsManager As JavaObject = ctxt.RunMethod("getSystemService", Array("notification"))
	Dim NotificationsEnabled As Boolean = NotificationsManager.RunMethod("areNotificationsEnabled", Null)
	If NotificationsEnabled Then Return True
	rp.CheckAndRequest(rp.PERMISSION_POST_NOTIFICATIONS)
	Wait For Activity_PermissionResult (permission As String, Result As Boolean)
	Log(permission & ": " & Result)
	Return Result
End Sub

Sub MsgboxPermission(str_content12 As String,str_title12 As String)
	customDialog.addDialog(str_title12,str_content12,func.gland(18),"","")
End Sub


Sub addPan(pan As Panel)
	pan.Initialize("")
	Activity.AddView(pan,0,0,100%x,100%y)
	pan.Visible = False
End Sub
 
Public Sub show_hide_frag(List As List)
	
	Dim number     As Int     = List.Get(0)
	Dim Caller     As Object  = List.Get(1)
	Dim pEventName As String  = List.Get(2)
 
	numBack = number
  
	panel4.Visible = False
	panel14.Visible = False
 	panel16.Visible = False
	panel18.Visible = False
	panel20.Visible = False
	panel21.Visible = False
	panel22.Visible = False
	panel26.Visible = False
	panel27.Visible = False
	panel28.Visible = False
	panel29.Visible = False
	panel30.Visible = False
 	panel32.Visible = False
	panel33.Visible = False
   	 
	If  number=4 Then
 
		panel4.Visible = True
		panel4.RemoveAllViews
		zero4.Initialize
		zero4.onCreateView(panel4)
		
		zero4.addSub(Caller,pEventName)
   
  		isAdd32 = False
 		
	else If number=14 Then
 		
		panel14.Visible = True
		panel14.RemoveAllViews
		zero14.Initialize
		zero14.onCreateView(panel14)
  		
 		isAdd16 = False
		isAdd18 = False
		isAdd20 = False
		isAdd21 = False
		isAdd26 = False
 		isAdd32 = False
 
	else If number=16 Then
		
		panel16.Visible = True
		If Not(isAdd16) Then
			isAdd16 = True
			panel16.RemoveAllViews
			zero16.Initialize
			zero16.onCreateView(panel16)
		End If
  		
 		isAdd32 = False
 		
	else If number=18 Then
		
		panel18.Visible = True
		If Not(isAdd18) Then
			isAdd18 = True
			panel18.RemoveAllViews
			zero18.Initialize
			zero18.onCreateView(panel18)
		Else
			zero18.onHiddenChanged
		End If
 		
 		isAdd16 = False
		isAdd20 = False
		isAdd21 = False
		isAdd26 = False
 		isAdd32 = False
 		
	else If number=20 Then
		
		panel20.Visible = True
		If Not(isAdd20) Then
			isAdd20 = True
			panel20.RemoveAllViews
			zero20.Initialize
			zero20.onCreateView(panel20)
		End If
		
 		isAdd16 = False
		isAdd18 = False
		isAdd21 = False
		isAdd26 = False
 		isAdd32 = False
 		
	else If number=21 Then
		
		panel21.Visible = True
		If Not(isAdd21) Then
			isAdd21 = True
			panel21.RemoveAllViews
			zero21.Initialize
			zero21.onCreateView(panel21)
		Else
			zero21.onHiddenChanged
		End If
 		
		isAdd16 = False
		isAdd18 = False
		isAdd20 = False
		isAdd26 = False
 		isAdd32 = False
 		
	else If number=22 Then
		
		panel22.Visible = True
		panel22.RemoveAllViews
		zero22.Initialize
		zero22.onCreateView(panel22)
 		
		isAdd26 = False
 		isAdd32 = False
 		
	else If number=26 Then
		
		panel26.Visible = True
		If Not(isAdd26) Then
			isAdd26 = True
			panel26.RemoveAllViews
			zero26.Initialize
			zero26.onCreateView(panel26)
		End If
 		
 		isAdd16 = False
		isAdd18 = False
		isAdd20 = False
		isAdd21 = False
 		isAdd32 = False
 		
	else If number=27 Then
  		
		panel27.Visible = True
		panel27.RemoveAllViews
		zero27.Initialize
		zero27.onCreateView(panel27)
 		
 		isAdd16 = False
		isAdd18 = False
		isAdd20 = False
		isAdd21 = False
		isAdd26 = False
 		isAdd32 = False
 		
	else If number=28 Then
 		
		panel28.Visible = True
		panel28.RemoveAllViews
		zero28.Initialize
		zero28.onCreateView(panel28)
 		
 		isAdd16 = False
		isAdd18 = False
		isAdd20 = False
		isAdd21 = False
		isAdd26 = False
 		isAdd32 = False
 		
		
	else If number=29 Then
  		
		panel29.Visible = True
		panel29.RemoveAllViews
		zero29.Initialize
		zero29.onCreateView(panel29)
 		
 		isAdd16 = False
		isAdd18 = False
		isAdd20 = False
		isAdd21 = False
		isAdd26 = False
 		isAdd32 = False
		
		
	else If number=30 Then
		
		panel30.Visible = True
		panel30.RemoveAllViews
		zero30.Initialize
		zero30.onCreateView(panel30)
 		
		isAdd26 = False
 
	else If number=32 Then
		
		panel32.Visible = True
		If Not(isAdd32) Then
			isAdd32 = True
			panel32.RemoveAllViews
			zero32.Initialize
			zero32.onCreateView(panel32)
		Else
			zero32.onHiddenChanged
		End If
 
 		isAdd16 = False
		isAdd18 = False
		isAdd20 = False
		isAdd21 = False
		isAdd26 = False
 		
	else If number=33 Then
		
		panel33.Visible = True
		panel33.RemoveAllViews
		zero33.Initialize
		zero33.onCreateView(panel33)

 		isAdd16 = False
		isAdd18 = False
		isAdd20 = False
		isAdd21 = False
		isAdd26 = False
 		isAdd32 = False
		
	else If number=34 Then
		
		panel16.RemoveAllViews
		panel16.Visible = True
		zero16.Initialize
		zero16.onCreateView(panel16)
		
		isAdd26 = False
 		isAdd32 = False
 		
	End If
	
End Sub

Sub close2
	func.savePFM("psbook",1)
	StopService(playServiceBook)
End Sub


Sub finishAct2
 
	close2
	Activity.Finish
	ExitApplication
 	
End Sub
 
Sub close3
	Activity.Finish
	StartActivity(Main)

End Sub
 
Sub finishAct
	close2
	Activity.Finish
End Sub
 
Sub ppBook
	zero16.lpatQ
End Sub

Sub Activity_KeyPress (KeyCode As Int) As Boolean
 
	Select numBack
		Case 4
			zero4 .onKey(KeyCode)
		Case 14
			zero14.onKey(KeyCode)
 		Case 16 , 34
			zero16.onKey(KeyCode)
		Case 18
			zero18.onKey(KeyCode)
		Case 20
			zero20.onKey(KeyCode)
		Case 21
			zero21.onKey(KeyCode)
		Case 22
			zero22.onKey(KeyCode)
		Case 26
			zero26.onKey(KeyCode)
		Case 27
			zero27.onKey(KeyCode)
		Case 28
			zero28.onKey(KeyCode)
		Case 29
			zero29.onKey(KeyCode)
		Case 30
			zero30.onKey(KeyCode)
 		Case 32
			zero32.onKey(KeyCode)
		Case 33
			zero33.onKey(KeyCode)
			
	End Select
    	
	Return True
	
End Sub
  
Sub Activity_Resume
	
	If func.readPFM("playBBook") = -1 Then

		func.savePFM("playBBook",1)

		If numBack = 16 Or numBack = 34 Then
			zero16.IsJump
		End If

	End If
  	
	If numBack = 14 Then
		startT
	End If

End Sub

Sub Activity_Pause (UserClosed As Boolean)
	
	If numBack = 16 Or numBack = 34 Then
		zero16.stopScroll
	End If
	
	resetT

	If zero16.isPlaying Then
		func.savePFM("playBBook",-1)
	End If
End Sub

