Skip to content

Commit 105bad5

Browse files
committed
Added support for all devices(iPhones, iPods, iPads, AppleTVs)
1 parent 6a230d5 commit 105bad5

File tree

1 file changed

+193
-10
lines changed

1 file changed

+193
-10
lines changed

src/blobsaver/Controller.java

Lines changed: 193 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,25 @@ public class Controller {
3434
@SuppressWarnings("unchecked")
3535
@FXML
3636
public void initialize() {
37-
ObservableList iPhones = FXCollections.observableArrayList("iPhone 5s (GSM)", "iPhone 5s (Global)",
37+
ObservableList iPhones = FXCollections.observableArrayList("iPhone 3G[S]", "iPhone 4 (GSM)",
38+
"iPhone 4 (GSM 2012)", "iPhone 4 (CDMA)", "iPhone 4[S]", "iPhone 5 (GSM)", "iPhone 5 (Global)",
39+
"iPhone 5c (GSM)", "iPhone 5c (Global)", "iPhone 5s (GSM)", "iPhone 5s (Global)",
3840
"iPhone 6+ ", "iPhone 6", "iPhone 6s", "iPhone 6s+", "iPhone SE", "iPhone 7 (Global)(iPhone9,1)",
3941
"iPhone 7+ (Global)(iPhone9,2)", "iPhone 7 (GSM)(iPhone9,3)", "iPhone 7+ (GSM)(iPhone9,4)",
40-
"iPhone 8 (iPhone10,1)", "iPhone 8+ (iPhone10,2)", "iPhone X (iPhone10,3)", "iPhone 8 (iPhone10,4)", "iPhone 8+ (iPhone10,5)", "iPhone X (iPhone10,6)");
41-
ObservableList iPods = FXCollections.observableArrayList();
42-
ObservableList iPads = FXCollections.observableArrayList();
43-
ObservableList AppleTVs = FXCollections.observableArrayList();
44-
deviceTypeChoiceBox.setItems(FXCollections.observableArrayList("iPhone", "iPod(not supported yet)", "iPad(not supported yet)", "AppleTV(not supported yet)"));
42+
"iPhone 8 (iPhone10,1)", "iPhone 8+ (iPhone10,2)", "iPhone X (iPhone10,3)", "iPhone 8 (iPhone10,4)",
43+
"iPhone 8+ (iPhone10,5)", "iPhone X (iPhone10,6)");
44+
ObservableList iPods = FXCollections.observableArrayList("iPod Touch 3", "iPod Touch 4", "iPod Touch 5", "iPod Touch 6");
45+
ObservableList iPads = FXCollections.observableArrayList("iPad 1", "iPad 2 (WiFi)", "iPad 2 (GSM)",
46+
"iPad 2 (CDMA)", "iPad 2 (Mid 2012)", "iPad Mini (Wifi)", "iPad Mini (GSM)", "iPad Mini (Global)",
47+
"iPad 3 (WiFi)", "iPad 3 (CDMA)", "iPad 3 (GSM)", "iPad 4 (WiFi)", "iPad 4 (GSM)", "iPad 4 (Global)",
48+
"iPad Air (Wifi)", "iPad Air (Cellular)", "iPad Air (China)", "iPad Mini 2 (WiFi)", "iPad Mini 2 (Cellular)",
49+
"iPad Mini 2 (China)", "iPad Mini 3 (WiFi)", "iPad Mini 3 (Cellular)", "iPad Mini 3 (China)",
50+
"iPad Mini 4 (Wifi)", "iPad Mini 4 (Cellular)", "iPad Air 2 (WiFi)", "iPad Air 2 (Cellular)",
51+
"iPad Pro 9.7 (Wifi)", "iPad Pro 9.7 (Cellular)", "iPad Pro 12.9 (WiFi)", "iPad Pro 12.9 (Cellular)",
52+
"iPad 5 (Wifi)", "iPad 5 (Cellular)", "iPad Pro 2 12.9 (WiFi)(iPad7,1)", "iPad Pro 2 12.9 (Cellular)(iPad7,2)",
53+
"iPad Pro 10.5 (WiFi)(iPad7,3)", "iPad 10.5 (Cellular)(iPad7,4)", "iPad 6 (WiFi)(iPad 7,5)", "iPad 6 (Cellular)(iPad7,6)");
54+
ObservableList AppleTVs = FXCollections.observableArrayList("Apple TV 2G", "Apple TV 3", "Apple TV 3 (2013)", "Apple TV 4 (2015)", "Apple TV 4K");
55+
deviceTypeChoiceBox.setItems(FXCollections.observableArrayList("iPhone", "iPod", "iPad", "AppleTV"));
4556

4657
deviceTypeChoiceBox.getSelectionModel().selectedItemProperty().addListener((ObservableValue observable, Object oldValue, Object newValue) -> {
4758
String v = (String) newValue;
@@ -50,15 +61,15 @@ public void initialize() {
5061
deviceModelChoiceBox.setItems(iPhones);
5162
versionLabel.setText("iOS Version");
5263
break;
53-
case "iPod(not supported yet)":
64+
case "iPod":
5465
deviceModelChoiceBox.setItems(iPods);
5566
versionLabel.setText("iOS Version");
5667
break;
57-
case "iPad(not supported yet)":
68+
case "iPad":
5869
deviceModelChoiceBox.setItems(iPads);
5970
versionLabel.setText("iOS Version");
6071
break;
61-
case "AppleTV(not supported yet)":
72+
case "AppleTV":
6273
deviceModelChoiceBox.setItems(AppleTVs);
6374
versionLabel.setText("tvOS Version");
6475
break;
@@ -207,6 +218,33 @@ public void go() {
207218
}
208219
String deviceModel = (String) deviceModelChoiceBox.getValue();
209220
switch (deviceModel) {
221+
case "iPhone 3G[S]":
222+
run("iPhone2,1");
223+
break;
224+
case "iPhone 4 (GSM)":
225+
run("iPhone3,1");
226+
break;
227+
case "iPhone 4 (GSM 2012)":
228+
run("iPhone3,2");
229+
break;
230+
case "iPhone 4 (CDMA)":
231+
run("iPhone3,3");
232+
break;
233+
case "iPhone 4[S]":
234+
run("iPhone4,1");
235+
break;
236+
case "iPhone 5 (GSM)":
237+
run("iPhone5,1");
238+
break;
239+
case "iPhone 5 (Global)":
240+
run("iPhone5,2");
241+
break;
242+
case "iPhone 5c (GSM)":
243+
run("iPhone5,3");
244+
break;
245+
case "iPhone 5c (Global)":
246+
run("iPhone5,4");
247+
break;
210248
case "iPhone 5s (GSM)":
211249
run("iPhone6,1");
212250
break;
@@ -257,8 +295,153 @@ public void go() {
257295
break;
258296
case "iPhone X (iPhone10,6)":
259297
run("iPhone10,6");
298+
break;
299+
case "iPod Touch 3":
300+
run("iPod3,1");
301+
break;
302+
case "iPod Touch 4":
303+
run("iPod4,1");
304+
break;
305+
case "iPod Touch 5":
306+
run("iPod5,1");
307+
break;
308+
case "iPod Touch 6":
309+
run("iPod7,1");
310+
break;
311+
case "Apple TV 2G":
312+
run("AppleTV2,1");
313+
break;
314+
case "Apple TV 3":
315+
run("AppleTV3,1");
316+
break;
317+
case "Apple TV 3 (2013)":
318+
run("AppleTV3,2");
319+
break;
320+
case "Apple TV 4 (2015)":
321+
run("AppleTV5,3");
322+
break;
323+
case "Apple TV 4K":
324+
run("AppleTV6,2");
325+
break;
326+
case "iPad 1":
327+
run("iPad1,1");
328+
break;
329+
case "iPad 2 (WiFi)":
330+
run("iPad2,1");
331+
break;
332+
case "iPad 2 (GSM)":
333+
run("iPad2,2");
334+
break;
335+
case "iPad 2 (CDMA)":
336+
run("iPad2,3");
337+
break;
338+
case "iPad 2 (Mid 2012)":
339+
run("iPad2,4");
340+
break;
341+
case "iPad Mini (Wifi)":
342+
run("iPad2,5");
343+
break;
344+
case "iPad Mini (GSM)":
345+
run("iPad2,6");
346+
break;
347+
case "iPad Mini (Global)":
348+
run("iPad2,7");
349+
break;
350+
case "iPad 3 (WiFi)":
351+
run("iPad3,1");
352+
break;
353+
case "iPad 3 (CDMA)":
354+
run("iPad3,2");
355+
break;
356+
case "iPad 3 (GSM)":
357+
run("iPad3,3");
358+
break;
359+
case "iPad 4 (WiFi)":
360+
run("iPad3,4");
361+
break;
362+
case "iPad 4 (GSM)":
363+
run("iPad3,5");
364+
break;
365+
case "iPad 4 (Global)":
366+
run("iPad3,6");
367+
break;
368+
case "iPad Air (Wifi)":
369+
run("iPad4,1");
370+
break;
371+
case "iPad Air (Cellular)":
372+
run("iPad4,2");
373+
break;
374+
case "iPad Air (China)":
375+
run("iPad4,3");
376+
break;
377+
case "iPad Mini 2 (WiFi)":
378+
run("iPad4,4");
379+
break;
380+
case "iPad Mini 2 (Cellular)":
381+
run("iPad4,5");
382+
break;
383+
case "iPad Mini 2 (China)":
384+
run("iPad4,6");
385+
break;
386+
case "iPad Mini 3 (WiFi)":
387+
run("iPad4,7");
388+
break;
389+
case "iPad Mini 3 (Cellular)":
390+
run("iPad4,8");
391+
break;
392+
case "iPad Mini 3 (China)":
393+
run("iPad4,9");
394+
break;
395+
case "iPad Mini 4 (Wifi)":
396+
run("iPad5,1");
397+
break;
398+
case "iPad Mini 4 (Cellular)":
399+
run("iPad5,2");
400+
break;
401+
case "iPad Air 2 (WiFi)":
402+
run("iPad5,3");
403+
break;
404+
case "iPad Air 2 (Cellular)":
405+
run("iPad5,4");
406+
break;
407+
case "iPad Pro 9.7 (Wifi)":
408+
run("iPad6,3");
409+
break;
410+
case "iPad Pro 9.7 (Cellular)":
411+
run("iPad6,4");
412+
break;
413+
case "iPad Pro 12.9 (WiFi)":
414+
run("iPad6,7");
415+
break;
416+
case "iPad Pro 12.9 (Cellular)":
417+
run("iPad6,8");
418+
break;
419+
case "iPad 5 (Wifi)":
420+
run("iPad6,11");
421+
break;
422+
case "iPad 5 (Cellular)":
423+
run("iPad6,12");
424+
break;
425+
case "iPad Pro 2 12.9 (WiFi)(iPad7,1)":
426+
run("iPad7,1");
427+
break;
428+
case "iPad Pro 2 12.9 (Cellular)(iPad7,2)":
429+
run("iPad7,2");
430+
break;
431+
case "iPad Pro 10.5 (WiFi)(iPad7,3)":
432+
run("iPad7,3");
433+
break;
434+
case "iPad 10.5 (Cellular)(iPad7,4)":
435+
run("iPad7,4");
436+
break;
437+
case "iPad 6 (WiFi)(iPad 7,5)":
438+
run("iPad7,6");
439+
break;
440+
case "iPad 6 (Cellular)(iPad7,6)":
441+
run("iPad7,6");
442+
break;
260443
default:
261-
System.out.print("");
444+
System.out.print(""); // TODO: Show an error
262445
break;
263446
}
264447
}

0 commit comments

Comments
 (0)