Skip to content

Commit 90d457f

Browse files
committed
Bump to v2.2, remove beta warning on macOS when reading info from device, add a menuitem to the wiki menu
1 parent 95a2c4e commit 90d457f

File tree

5 files changed

+30
-19
lines changed

5 files changed

+30
-19
lines changed

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ A GUI for saving SHSH blobs using encounter's fork of tsschecker(uses tihmstar's
77

88
If you have an antivirus or firewall, you may need to disable some other settings or disable the firewall completely for automatically saving blobs in the background to work. If you use Norton, go to Settings -> Firewall -> Advanced Program Control and set the option "Low Risk Applications" to "Allow".
99

10-
![Mac Screenshot](https://i.imgur.com/DLPbzNd.png)
11-
![Windows Screenshot](https://i.imgur.com/oxqUZsI.png)
10+
![Mac Screenshot](https://i.imgur.com/2UvuaCZ.png)
11+
![Windows Screenshot](https://i.imgur.com/ENSX4E5.png)
1212

1313
## Features
1414
- **Automatically save blobs in the background**
1515
- Store up to ten devices with presets
1616
- Save blobs for beta versions
17-
- Read ECID and other info from device so you don't to get it manually (currently broken on Windows)
17+
- Read ECID and other info from device so you don't have to get it manually (currently broken on Windows)
1818
- No need to download entire .ipsw for beta versions(just specify link)
1919
- Choose where to save blobs with file picker
2020
- Explains how to get ECID, Board Config(if needed), and information necessary for beta versions

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ macAppBundle {
4646
backgroundImage = "icons/dmg_background.png"
4747
appName = 'blobsaver'
4848
dmgName = 'blobsaver-macos'
49+
volumeName = 'blobsaver-macos'
4950
}
5051

5152
launch4j { // Windows only, don't use this, use createWindowsInstaller
@@ -88,6 +89,5 @@ void buildEverything() {
8889
println " first make sure you have installed Inno Setup first"
8990
println " and make sure you have wine in your path if you are not on windows"
9091
println " Inno Setup **MUST** be installed to C:\\Program Files (x86)\\Inno Setup 5\\"
91-
9292
createWindowsInstaller.execute()
9393
}

src/main/java/com/airsquared/blobsaver/Controller.java

+22-13
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public class Controller {
8383

8484
@FXML private Label versionLabel;
8585

86+
@FXML private Button readFromConnectedDeviceButton;
8687
@FXML private Button startBackgroundButton;
8788
@FXML private Button chooseTimeToRunButton;
8889
@FXML private Button forceCheckForBlobs;
@@ -242,6 +243,7 @@ public void initialize() {
242243
presetButtons = new ArrayList<>(Arrays.asList(preset1Button, preset2Button, preset3Button, preset4Button, preset5Button, preset6Button, preset7Button, preset8Button, preset9Button, preset10Button));
243244
presetButtons.forEach((Button btn) -> btn.setOnAction(this::presetButtonHandler));
244245

246+
// the following is to set the path to save blobs to the correct location
245247
final String url = getClass().getResource("Controller.class").toString();
246248
String path = url.substring(0, url.length() - "com/airsquared/blobsaver/Controller.class".length());
247249
if (path.startsWith("jar:")) {
@@ -265,7 +267,7 @@ public void initialize() {
265267
}
266268
pathField.setText(path);
267269

268-
if (PlatformUtil.isMac()) {
270+
if (PlatformUtil.isMac()) { // use macos menu bar or not
269271
primaryStage.setOnShowing(new EventHandler<WindowEvent>() {
270272
// can't use lambda due to using the 'this' keyword
271273
@Override
@@ -276,6 +278,10 @@ public void handle(WindowEvent event) {
276278
}
277279
});
278280
}
281+
282+
if (!PlatformUtil.isMac()) {
283+
readFromConnectedDeviceButton.setText("Read from connected device(beta)");
284+
}
279285
}
280286

281287
public void checkForUpdatesHandler() {
@@ -1129,6 +1135,9 @@ public void showWiki(ActionEvent event) {
11291135
case "Automatically upload blobs to the cloud":
11301136
url = "https://github.com/airsquared/blobsaver/wiki/Automatically-saving-blobs-to-the-cloud(Dropbox,-Google-Drive,-iCloud)";
11311137
break;
1138+
case "How do I get a crash log?":
1139+
url = "https://github.com/airsquared/blobsaver/wiki/How-do-I-get-a-crash-log%3F";
1140+
break;
11321141
default:
11331142
url = "https://github.com/airsquared/blobsaver/wiki";
11341143
break;
@@ -1142,18 +1151,18 @@ public void showWiki(ActionEvent event) {
11421151

11431152
@SuppressWarnings({"unchecked", "UnnecessaryReturnStatement"})
11441153
public void readInfo() {
1145-
String alertText;
1146-
if (PlatformUtil.isMac()) {
1147-
alertText = "This feature is in beta, and may or may not work. Please report any bugs with this feature to me using the help menu.";
1148-
} else if (PlatformUtil.isWindows()) {
1149-
alertText = "This feature will most likely not work, but you can give it a try. If this feature doesn't work, please don't report this bug to me, I already know and am trying to fix it.";
1150-
} else {
1151-
alertText = "IMPORTANT: make sure to install libimobiledevice before running it and `ideviceinfo` and `idevicepair` are in your $PATH\n\nThis feature is in beta, and may or may not work. Please report any bugs with this feature to me using the help menu.";
1152-
}
1153-
Alert confirmationAlert = new Alert(Alert.AlertType.CONFIRMATION, alertText);
1154-
confirmationAlert.showAndWait();
1155-
if (confirmationAlert.getResult().equals(ButtonType.CANCEL)) {
1156-
return;
1154+
if (!PlatformUtil.isMac()) {
1155+
String alertText;
1156+
if (PlatformUtil.isWindows()) {
1157+
alertText = "This feature will most likely not work, but you can give it a try. If this feature doesn't work, please don't report this bug to me, I already know and am trying to fix it.";
1158+
} else {
1159+
alertText = "IMPORTANT: make sure to install libimobiledevice before running it and `ideviceinfo` and `idevicepair` are in your $PATH\n\nThis feature is in beta, and may or may not work. Please report any bugs with this feature to me using the help menu.";
1160+
}
1161+
Alert confirmationAlert = new Alert(Alert.AlertType.CONFIRMATION, alertText);
1162+
confirmationAlert.showAndWait();
1163+
if (confirmationAlert.getResult().equals(ButtonType.CANCEL)) {
1164+
return;
1165+
}
11571166
}
11581167
String idevicepairPath;
11591168
try {

src/main/java/com/airsquared/blobsaver/Main.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
public class Main {
3737

38-
static final String appVersion = "v2.2-beta";
38+
static final String appVersion = "v2.2";
3939
static final Preferences appPrefs = Preferences.userRoot().node("airsquared/blobsaver/prefs");
4040
private static final String appID = "com.airsquared.blobsaver";
4141
static Stage primaryStage;

src/main/resources/com/airsquared/blobsaver/blobsaver.fxml

+3-1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@
4444
text="Automatically upload blobs to the cloud"/>
4545
<MenuItem mnemonicParsing="false" onAction="#showWiki"
4646
text="Running on system startup"/>
47+
<MenuItem mnemonicParsing="false" onAction="#showWiki"
48+
text="How do I get a crash log?"/>
4749
</Menu>
4850
<MenuItem mnemonicParsing="false" onAction="#newGithubIssue"
4951
text="Send Feedback(Github Issue)"/>
@@ -79,7 +81,7 @@
7981
</padding>
8082
</Label>
8183
<Region HBox.hgrow="ALWAYS"/>
82-
<Button onAction="#readInfo" text="Read from connected device (beta)">
84+
<Button fx:id="readFromConnectedDeviceButton" onAction="#readInfo" text="Read from connected device">
8385
<HBox.margin>
8486
<Insets right="5.0"/>
8587
</HBox.margin>

0 commit comments

Comments
 (0)