* enable review reminder for Ubuntu Software Center package
This commit is contained in:
parent
4c5886c248
commit
8ceac180f5
|
@ -246,10 +246,10 @@ public class Main {
|
|||
int renameCount = HistorySpooler.getInstance().getPersistentHistoryTotalSize();
|
||||
|
||||
if (renameCount > 2000 && Math.random() < chance) {
|
||||
if (!isAppStore()) {
|
||||
if (isAppStore()) {
|
||||
showAppStoreReviewReminder();
|
||||
} else {
|
||||
showDonationReminder();
|
||||
} else if (isMacApp() && isAppStore()) {
|
||||
showMacAppStoreReviewReminder();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -379,7 +379,7 @@ public class Main {
|
|||
}
|
||||
}
|
||||
|
||||
private static void showMacAppStoreReviewReminder() {
|
||||
private static void showAppStoreReviewReminder() {
|
||||
PreferencesEntry<String> donation = Settings.forPackage(Main.class).entry("review").defaultValue("0");
|
||||
int donationRev = Integer.parseInt(donation.getValue());
|
||||
if (donationRev > 0) {
|
||||
|
@ -390,13 +390,13 @@ public class Main {
|
|||
int currentRev = getApplicationRevisionNumber();
|
||||
donation.setValue(String.valueOf(currentRev));
|
||||
|
||||
String message = String.format(Locale.ROOT, "<html><p style='font-size:16pt; font-weight:bold'>Thank you for using FileBot!</p><br><p>It has taken many nights to develop this application. If you enjoy using it,<br>please consider writing a nice little review on the Mac App Store.<p><p style='font-size:14pt; font-weight:bold'>You've renamed %,d files.</p><br><html>", HistorySpooler.getInstance().getPersistentHistoryTotalSize());
|
||||
String message = String.format(Locale.ROOT, "<html><p style='font-size:16pt; font-weight:bold'>Thank you for using FileBot!</p><br><p>It has taken many nights to develop this application. If you enjoy using it,<br>please consider writing a nice little review on the %s.<p><p style='font-size:14pt; font-weight:bold'>You've renamed %,d files.</p><br><html>", getAppStoreName(), HistorySpooler.getInstance().getPersistentHistoryTotalSize());
|
||||
String[] actions = new String[] { "Review! I like FileBot. :)", "Never! Don't bother me again." };
|
||||
JOptionPane pane = new JOptionPane(message, INFORMATION_MESSAGE, YES_NO_OPTION, ResourceManager.getIcon("window.icon.large"), actions, actions[0]);
|
||||
pane.createDialog(null, "Please rate FileBot").setVisible(true);
|
||||
if (pane.getValue() == actions[0]) {
|
||||
try {
|
||||
Desktop.getDesktop().browse(URI.create("macappstore://itunes.apple.com/app/id905384638")); // this will naturally only work on Mac ;)
|
||||
Desktop.getDesktop().browse(getAppStoreURI()); // this will naturally only work on Mac or Ubuntu ;)
|
||||
} catch (Exception e) {
|
||||
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, "Failed to browse URI", e);
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import static net.filebot.util.StringUtilities.*;
|
|||
|
||||
import java.awt.GraphicsEnvironment;
|
||||
import java.io.File;
|
||||
import java.net.URI;
|
||||
import java.util.Locale;
|
||||
import java.util.MissingResourceException;
|
||||
import java.util.ResourceBundle;
|
||||
|
@ -82,6 +83,10 @@ public final class Settings {
|
|||
return isApplicationDeployment("mas", "usc");
|
||||
}
|
||||
|
||||
public static boolean isUbuntuApp() {
|
||||
return isApplicationDeployment("usc");
|
||||
}
|
||||
|
||||
public static boolean isMacApp() {
|
||||
return isApplicationDeployment("mas", "app");
|
||||
}
|
||||
|
@ -169,6 +174,24 @@ public final class Settings {
|
|||
return new File(System.getProperty("user.home"));
|
||||
}
|
||||
|
||||
public static String getAppStoreName() {
|
||||
if (isMacApp())
|
||||
return "Mac App Store";
|
||||
if (isUbuntuApp())
|
||||
return "Ubuntu Software Center";
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static URI getAppStoreURI() {
|
||||
if (isMacApp())
|
||||
return URI.create("macappstore://itunes.apple.com/app/id905384638");
|
||||
if (isUbuntuApp())
|
||||
return URI.create("apt://filebot");
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Settings forPackage(Class<?> type) {
|
||||
return new Settings(Preferences.userNodeForPackage(type));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue