@@ -63,7 +63,7 @@ struct QueueView: View {
63
63
@EnvironmentObject var logsCollector : LogsCollector
64
64
65
65
@State fileprivate var alert : AlertIdentifier ?
66
- @State var packageURLs : [ Package ] = [ ]
66
+ @State var packages : [ Package ] = [ ]
67
67
@State private var selection : Set < UUID > = [ ]
68
68
69
69
@State var isInDropArea : Bool = false
@@ -83,7 +83,7 @@ struct QueueView: View {
83
83
} . padding ( )
84
84
85
85
List ( selection: $selection) {
86
- ForEach ( packageURLs , id: \. id) { package in
86
+ ForEach ( packages , id: \. id) { package in
87
87
HStack {
88
88
Image ( systemName: " shippingbox " )
89
89
Text ( " \( package . title_id ?? package . url. lastPathComponent) " )
@@ -106,10 +106,17 @@ struct QueueView: View {
106
106
if let url = object, url. pathExtension == " pkg " {
107
107
let packageDetails = SFOExplorer ( ) . getParamSFOData ( url: url)
108
108
var title : String ?
109
+
109
110
if let packageDetails = packageDetails {
110
111
title = packageDetails [ " TITLE " ]
112
+ if let title = title {
113
+ logsCollector. addLog ( " Package name defined: \" \( title) \" ( \" \( url) \" ) " )
114
+ } else {
115
+ logsCollector. addLog ( " Package name for ( \" \( url) \" ) is undefined. Maybe the package is damaged or not compatible with the PS4 system. " )
116
+ }
111
117
}
112
- packageURLs. append ( Package ( url: url, title_id: title) )
118
+
119
+ packages. append ( Package ( url: url, title_id: title) )
113
120
}
114
121
}
115
122
}
@@ -123,7 +130,7 @@ struct QueueView: View {
123
130
Image ( systemName: " shippingbox " )
124
131
. resizable ( )
125
132
. frame ( width: 100 , height: 100 )
126
- Text ( # "Drop " .pkg" files"# )
133
+ Text ( " Drop .pkg files " )
127
134
. font ( . title)
128
135
}
129
136
. opacity ( 0.5 )
@@ -172,29 +179,29 @@ struct QueueView: View {
172
179
}
173
180
174
181
private func deleteSelection( ) {
175
- packageURLs . removeAll { selection. contains ( $0. id) }
182
+ packages . removeAll { selection. contains ( $0. id) }
176
183
selection. removeAll ( )
177
184
}
178
185
179
186
fileprivate func AddButton( ) -> ColorButton {
180
187
return ColorButton ( text: " Add " , color: . orange, image: Image ( systemName: " plus.rectangle.on.rectangle " ) , action: {
181
- let packages = selectPackages ( )
182
- for package in packages {
188
+ let selectedPackages = selectPackages ( )
189
+ for package in selectedPackages {
183
190
if let package = package {
184
191
let packageDetails = SFOExplorer ( ) . getParamSFOData ( url: package )
185
192
var title : String ?
186
193
if let packageDetails = packageDetails {
187
194
title = packageDetails [ " TITLE " ]
188
195
}
189
- packageURLs . append ( Package ( url: package , title_id: title) )
196
+ packages . append ( Package ( url: package , title_id: title) )
190
197
}
191
198
}
192
199
} )
193
200
}
194
201
195
202
fileprivate func SendButton( ) -> ColorButton {
196
203
return ColorButton ( text: " Send " , color: . green, image: Image ( systemName: " arrow.up.forward.app " ) , action: {
197
- if packageURLs . isEmpty { return }
204
+ if packages . isEmpty { return }
198
205
199
206
if connection. serverIP. isEmpty || connection. serverPort. isEmpty {
200
207
connection. generateServerDetails ( )
@@ -214,13 +221,13 @@ struct QueueView: View {
214
221
215
222
loadingScreenIsShown = true
216
223
DispatchQueue . global ( qos: . background) . async {
217
- for index in packageURLs . indices {
218
- if packageURLs [ index] . state == . sendSuccess {
224
+ for index in packages . indices {
225
+ if packages [ index] . state == . sendSuccess {
219
226
continue
220
227
}
221
- let alias = createTempDirPackageAlias ( package : packageURLs [ index] ) !
228
+ let alias = createTempDirPackageAlias ( package : packages [ index] ) !
222
229
223
- logsCollector. addLog ( " Creating package alias ( \" \( packageURLs [ index] . url. path) \" -> \" \( tempDirectory. path) / \( alias) \" ). " )
230
+ logsCollector. addLog ( " Creating package alias ( \" \( packages [ index] . url. path) \" -> \" \( tempDirectory. path) / \( alias) \" ). " )
224
231
logsCollector. addLog ( " Sending package \" \( alias) \" to the console (IP: \( connection. consoleIP) , Port: \( connection. consolePort) ) " )
225
232
226
233
let response = sendPackagesToConsole ( packageFilename: alias, connection: connection)
@@ -234,15 +241,15 @@ struct QueueView: View {
234
241
}
235
242
break
236
243
} else if let response = response as? SendSuccess {
237
- logsCollector. addLog ( " Successfully sent \( packageURLs [ index] . url) [Package Link: \" \( packageURLs [ index] . id) .pkg \" , id: \( response. taskID) , title: \" \( response. title) \" ] " )
244
+ logsCollector. addLog ( " Successfully sent \( packages [ index] . url) [Package Link: \" \( packages [ index] . id) .pkg \" , id: \( response. taskID) , title: \" \( response. title) \" ] " )
238
245
DispatchQueue . main. async {
239
- packageURLs [ index] . state = . sendSuccess
240
- packageURLs [ index] . task_id = response. taskID
246
+ packages [ index] . state = . sendSuccess
247
+ packages [ index] . task_id = response. taskID
241
248
}
242
249
} else if let response = response as? SendFailure {
243
- logsCollector. addLog ( " An error occurred while sending \( packageURLs [ index] . url) [ \( packageURLs [ index] . id) .pkg] {ERROR: \( response. error) } " )
250
+ logsCollector. addLog ( " An error occurred while sending \( packages [ index] . url) [ \( packages [ index] . id) .pkg] {ERROR: \( response. error) } " )
244
251
DispatchQueue . main. async {
245
- packageURLs [ index] . state = . sendFailure
252
+ packages [ index] . state = . sendFailure
246
253
}
247
254
break
248
255
}
@@ -267,7 +274,7 @@ struct QueueView_Previews: PreviewProvider {
267
274
@EnvironmentObject var connection : ConnectionDetails
268
275
269
276
static var previews : some View {
270
- let view = QueueView ( packageURLs : [
277
+ let view = QueueView ( packages : [
271
278
Package ( url: URL ( string: " https://example.com/game.pkg " ) !) ,
272
279
Package ( url: URL ( string: " https://example.com/dlc.pkg " ) !, state: . sendSuccess) ,
273
280
Package ( url: URL ( string: " https://example.com/dlc.pkg " ) !, state: . sendFailure)
0 commit comments