@@ -11,8 +11,7 @@ import UIKit
11
11
class PrayerFlowController : FlowController {
12
12
private let prayer : Prayer
13
13
private let fixedTextSpeedsFactor : Double
14
- private let changingTextSpeedFactor : Double
15
- private let showChangingTextName : Bool
14
+ private let recitationSpeedFactor : Double
16
15
private var audioMode : AudioMode
17
16
private let movementSoundInstrument : String
18
17
@@ -26,16 +25,14 @@ class PrayerFlowController: FlowController {
26
25
init (
27
26
prayer: Prayer ,
28
27
fixedTextSpeedsFactor: Double ,
29
- changingTextSpeedFactor: Double ,
30
- showChangingTextName: Bool ,
28
+ recitationSpeedFactor: Double ,
31
29
audioMode: AudioMode ,
32
30
movementSoundInstrument: String ,
33
31
speechSynthesizer: SpeechSynthesizer
34
32
) {
35
33
self . prayer = prayer
36
34
self . fixedTextSpeedsFactor = fixedTextSpeedsFactor
37
- self . changingTextSpeedFactor = changingTextSpeedFactor
38
- self . showChangingTextName = showChangingTextName
35
+ self . recitationSpeedFactor = recitationSpeedFactor
39
36
self . audioMode = audioMode
40
37
self . movementSoundInstrument = movementSoundInstrument
41
38
self . speechSynthesizer = speechSynthesizer
@@ -85,7 +82,6 @@ class PrayerFlowController: FlowController {
85
82
previousLine: nil ,
86
83
currentArrow: nil ,
87
84
currentLine: " \( count) " ,
88
- isChapterName: false ,
89
85
currentIsComponentBeginning: false ,
90
86
nextArrow: nil ,
91
87
nextLine: nil ,
@@ -96,7 +92,7 @@ class PrayerFlowController: FlowController {
96
92
func startPrayer( ) {
97
93
prayerState = PrayerState (
98
94
prayer: prayer,
99
- changingTextSpeedFactor: changingTextSpeedFactor ,
95
+ changingTextSpeedFactor: recitationSpeedFactor ,
100
96
fixedTextsSpeedFactor: fixedTextSpeedsFactor,
101
97
audioMode: audioMode,
102
98
movementSoundInstrument: movementSoundInstrument,
@@ -107,6 +103,9 @@ class PrayerFlowController: FlowController {
107
103
108
104
// set audio session to this app
109
105
try ? AVAudioSession . sharedInstance ( ) . setActive ( true )
106
+ if #available( iOS 14 . 5 , * ) {
107
+ try ? AVAudioSession . sharedInstance ( ) . setPrefersNoInterruptionsFromSystemAlerts ( true )
108
+ }
110
109
111
110
// prevent screen from locking
112
111
UIApplication . shared. isIdleTimerDisabled = true
@@ -146,45 +145,6 @@ class PrayerFlowController: FlowController {
146
145
147
146
private func progressToNextStep( ) {
148
147
if prayerState. moveToNextLine ( ) {
149
- let viewModel = prayerState. prayerViewModel ( )
150
-
151
- // show changing text info if chosen
152
- if self . showChangingTextName && viewModel. currentIsComponentBeginning {
153
- if let chapterNum = prayerState. currentRecitationChapterNum, chapterNum != 1 {
154
- let infoViewModel = PrayerViewModel (
155
- currentComponentName: viewModel. currentComponentName,
156
- previousArrow: viewModel. previousArrow,
157
- previousLine: viewModel. previousLine,
158
- currentArrow: nil ,
159
- currentLine: viewModel. currentComponentName,
160
- isChapterName: true ,
161
- currentIsComponentBeginning: true ,
162
- nextArrow: nil ,
163
- nextLine: viewModel. currentLine,
164
- nextIsComponentBeginning: false
165
- )
166
- self . prayerViewCtrl. viewModel = infoViewModel
167
-
168
- switch audioMode {
169
- case . movementSound, . none:
170
- let rememberTime = Timespan . milliseconds ( 1_000 )
171
- let waitTime = infoViewModel. currentLine. estimatedReadingTime + rememberTime
172
- delay ( by: waitTime) {
173
- self . prayerViewCtrl. viewModel = self . prayerState. prayerViewModel ( )
174
- self . progressPrayer ( )
175
- }
176
-
177
- case . speechSynthesizer, . movementSoundAndSpeechSynthesizer:
178
- speechSynthesizer. speak ( text: infoViewModel. currentLine) {
179
- self . prayerViewCtrl. viewModel = self . prayerState. prayerViewModel ( )
180
- self . progressPrayer ( )
181
- }
182
- }
183
-
184
- return
185
- }
186
- }
187
-
188
148
prayerViewCtrl. viewModel = prayerState. prayerViewModel ( )
189
149
progressPrayer ( )
190
150
}
@@ -207,6 +167,9 @@ extension PrayerFlowController: PrayerFlowDelegate {
207
167
countdown? . cancel ( )
208
168
cleanup ( )
209
169
prayerViewCtrl. dismiss ( animated: true ) {
170
+ if #available( iOS 14 . 5 , * ) {
171
+ try ? AVAudioSession . sharedInstance ( ) . setPrefersNoInterruptionsFromSystemAlerts ( false )
172
+ }
210
173
try ? AVAudioSession . sharedInstance ( ) . setActive ( false )
211
174
UIApplication . shared. isIdleTimerDisabled = false
212
175
}
0 commit comments