Skip to content

Commit

Permalink
Bump to v2.2, remove beta warning on macOS when reading info from dev…
Browse files Browse the repository at this point in the history
…ice, add a menuitem to the wiki menu
  • Loading branch information
airsquared committed Oct 6, 2018
1 parent 95a2c4e commit 90d457f
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 19 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ A GUI for saving SHSH blobs using encounter's fork of tsschecker(uses tihmstar's

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".

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

## Features
- **Automatically save blobs in the background**
- Store up to ten devices with presets
- Save blobs for beta versions
- Read ECID and other info from device so you don't to get it manually (currently broken on Windows)
- Read ECID and other info from device so you don't have to get it manually (currently broken on Windows)
- No need to download entire .ipsw for beta versions(just specify link)
- Choose where to save blobs with file picker
- Explains how to get ECID, Board Config(if needed), and information necessary for beta versions
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ macAppBundle {
backgroundImage = "icons/dmg_background.png"
appName = 'blobsaver'
dmgName = 'blobsaver-macos'
volumeName = 'blobsaver-macos'
}

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

createWindowsInstaller.execute()
}
35 changes: 22 additions & 13 deletions src/main/java/com/airsquared/blobsaver/Controller.java
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ public class Controller {

@FXML private Label versionLabel;

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

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

if (PlatformUtil.isMac()) {
if (PlatformUtil.isMac()) { // use macos menu bar or not
primaryStage.setOnShowing(new EventHandler<WindowEvent>() {
// can't use lambda due to using the 'this' keyword
@Override
Expand All @@ -276,6 +278,10 @@ public void handle(WindowEvent event) {
}
});
}

if (!PlatformUtil.isMac()) {
readFromConnectedDeviceButton.setText("Read from connected device(beta)");
}
}

public void checkForUpdatesHandler() {
Expand Down Expand Up @@ -1129,6 +1135,9 @@ public void showWiki(ActionEvent event) {
case "Automatically upload blobs to the cloud":
url = "https://github.com/airsquared/blobsaver/wiki/Automatically-saving-blobs-to-the-cloud(Dropbox,-Google-Drive,-iCloud)";
break;
case "How do I get a crash log?":
url = "https://github.com/airsquared/blobsaver/wiki/How-do-I-get-a-crash-log%3F";
break;
default:
url = "https://github.com/airsquared/blobsaver/wiki";
break;
Expand All @@ -1142,18 +1151,18 @@ public void showWiki(ActionEvent event) {

@SuppressWarnings({"unchecked", "UnnecessaryReturnStatement"})
public void readInfo() {
String alertText;
if (PlatformUtil.isMac()) {
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.";
} else if (PlatformUtil.isWindows()) {
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.";
} else {
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.";
}
Alert confirmationAlert = new Alert(Alert.AlertType.CONFIRMATION, alertText);
confirmationAlert.showAndWait();
if (confirmationAlert.getResult().equals(ButtonType.CANCEL)) {
return;
if (!PlatformUtil.isMac()) {
String alertText;
if (PlatformUtil.isWindows()) {
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.";
} else {
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.";
}
Alert confirmationAlert = new Alert(Alert.AlertType.CONFIRMATION, alertText);
confirmationAlert.showAndWait();
if (confirmationAlert.getResult().equals(ButtonType.CANCEL)) {
return;
}
}
String idevicepairPath;
try {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/airsquared/blobsaver/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

public class Main {

static final String appVersion = "v2.2-beta";
static final String appVersion = "v2.2";
static final Preferences appPrefs = Preferences.userRoot().node("airsquared/blobsaver/prefs");
private static final String appID = "com.airsquared.blobsaver";
static Stage primaryStage;
Expand Down
4 changes: 3 additions & 1 deletion src/main/resources/com/airsquared/blobsaver/blobsaver.fxml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@
text="Automatically upload blobs to the cloud"/>
<MenuItem mnemonicParsing="false" onAction="#showWiki"
text="Running on system startup"/>
<MenuItem mnemonicParsing="false" onAction="#showWiki"
text="How do I get a crash log?"/>
</Menu>
<MenuItem mnemonicParsing="false" onAction="#newGithubIssue"
text="Send Feedback(Github Issue)"/>
Expand Down Expand Up @@ -79,7 +81,7 @@
</padding>
</Label>
<Region HBox.hgrow="ALWAYS"/>
<Button onAction="#readInfo" text="Read from connected device (beta)">
<Button fx:id="readFromConnectedDeviceButton" onAction="#readInfo" text="Read from connected device">
<HBox.margin>
<Insets right="5.0"/>
</HBox.margin>
Expand Down

0 comments on commit 90d457f

Please sign in to comment.