aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java/sip/communicator')
-rw-r--r--src/net/java/sip/communicator/impl/sparkle/SparkleActivator.java54
-rw-r--r--src/net/java/sip/communicator/impl/sparkle/sparkle.manifest.mf1
-rw-r--r--src/net/java/sip/communicator/plugin/updatechecker/Resources.java3
-rw-r--r--src/net/java/sip/communicator/plugin/updatechecker/UpdateCheckActivator.java26
4 files changed, 76 insertions, 8 deletions
diff --git a/src/net/java/sip/communicator/impl/sparkle/SparkleActivator.java b/src/net/java/sip/communicator/impl/sparkle/SparkleActivator.java
index 8a98b5f..80477e3 100644
--- a/src/net/java/sip/communicator/impl/sparkle/SparkleActivator.java
+++ b/src/net/java/sip/communicator/impl/sparkle/SparkleActivator.java
@@ -7,6 +7,8 @@
package net.java.sip.communicator.impl.sparkle;
import org.osgi.framework.*;
+
+import net.java.sip.communicator.service.configuration.*;
import net.java.sip.communicator.util.*;
/**
@@ -23,16 +25,31 @@ public class SparkleActivator
private static Logger logger = Logger.getLogger(SparkleActivator.class);
/**
+ * A reference to the ConfigurationService implementation instance that
+ * is currently registered with the bundle context.
+ */
+ private static ConfigurationService configurationService = null;
+
+ /**
+ * The current BundleContext.
+ */
+ private static BundleContext bundleContext = null;
+
+ /**
* Native method declaration
*
* @param pathToSparkleFramework the path to the Sparkle framerok
* @param updateAtStartup specifies whether Sparkle should be checking for
* updates on startup.
* @param checkInterval specifies an interval for the update checks.
+ * @param downloadLink a custom download link for sparkle (i.e. the
+ * SUFeedURL). If null the default URL will be choosen (the
+ * SUFeedURL parameter in the .app/Contents/Info.pList).
*/
public native static void initSparkle(String pathToSparkleFramework,
boolean updateAtStartup,
- int checkInterval);
+ int checkInterval,
+ String downloadLink);
/**
* Whether updates are checked at startup
@@ -51,6 +68,12 @@ public class SparkleActivator
private static boolean sparkleLibLoaded = false;
/**
+ * Property name for the update link in the configuration file.
+ */
+ private static final String PROP_UPDATE_LINK =
+ "net.java.sip.communicator.UPDATE_LINK";
+
+ /**
* Initialize and start Sparkle
*
* @param bundleContext BundleContext
@@ -58,6 +81,8 @@ public class SparkleActivator
*/
public void start(BundleContext bundleContext) throws Exception
{
+ this.bundleContext = bundleContext;
+
/**
* Dynamically loads JNI object. Will fail if non-MacOSX
* or when libinit_sparkle.dylib is outside of the LD_LIBRARY_PATH
@@ -79,10 +104,14 @@ public class SparkleActivator
return;
}
+ String downloadLink = getConfigurationService().getString(
+ PROP_UPDATE_LINK);
+
+ System.out.println("download link is: " + downloadLink);
// TODO: better way to get the Sparkle Framework path?
initSparkle(System.getProperty("user.dir")
+ "/../../Frameworks/Sparkle.framework",
- updateAtStartup, checkInterval);
+ updateAtStartup, checkInterval, downloadLink);
if (logger.isInfoEnabled())
logger.info("Sparkle Plugin ...[Started]");
}
@@ -97,7 +126,28 @@ public class SparkleActivator
*/
public void stop(BundleContext bundleContext) throws Exception
{
+ bundleContext = null;
if (logger.isInfoEnabled())
logger.info("Sparkle Plugin ...[Stopped]");
}
+
+ /**
+ * Returns a reference to a ConfigurationService implementation currently
+ * registered in the bundle context or null if no such implementation was
+ * found.
+ *
+ * @return a currently valid implementation of the ConfigurationService.
+ */
+ public static ConfigurationService getConfigurationService()
+ {
+ if (configurationService == null)
+ {
+ ServiceReference confReference
+ = bundleContext.getServiceReference(
+ ConfigurationService.class.getName());
+ configurationService
+ = (ConfigurationService)bundleContext.getService(confReference);
+ }
+ return configurationService;
+ }
}
diff --git a/src/net/java/sip/communicator/impl/sparkle/sparkle.manifest.mf b/src/net/java/sip/communicator/impl/sparkle/sparkle.manifest.mf
index 2bfc04d..a905b84 100644
--- a/src/net/java/sip/communicator/impl/sparkle/sparkle.manifest.mf
+++ b/src/net/java/sip/communicator/impl/sparkle/sparkle.manifest.mf
@@ -5,4 +5,5 @@ Bundle-Vendor: sip-communicator.org
Bundle-Version: 0.0.1
System-Bundle: yes
Import-Package: org.osgi.framework,
+ net.java.sip.communicator.service.configuration,
net.java.sip.communicator.util
diff --git a/src/net/java/sip/communicator/plugin/updatechecker/Resources.java b/src/net/java/sip/communicator/plugin/updatechecker/Resources.java
index 31db17b..f845bd1 100644
--- a/src/net/java/sip/communicator/plugin/updatechecker/Resources.java
+++ b/src/net/java/sip/communicator/plugin/updatechecker/Resources.java
@@ -39,7 +39,8 @@ public class Resources
if (!configPropsFile.exists())
{
if (logger.isInfoEnabled())
- logger.info("No config file specified for update checker. Disabling update checks");
+ logger.info("No config file specified for update checker." +
+ " Disabling update checks");
return null;
}
diff --git a/src/net/java/sip/communicator/plugin/updatechecker/UpdateCheckActivator.java b/src/net/java/sip/communicator/plugin/updatechecker/UpdateCheckActivator.java
index 74b8fdc..1dc5128 100644
--- a/src/net/java/sip/communicator/plugin/updatechecker/UpdateCheckActivator.java
+++ b/src/net/java/sip/communicator/plugin/updatechecker/UpdateCheckActivator.java
@@ -72,6 +72,12 @@ public class UpdateCheckActivator
private static final String UPDATECHECKER_ENABLED =
"net.java.sip.communicator.plugin.updatechecker.ENABLED";
+ /**
+ * Property name for the update link in the configuration file.
+ */
+ private static final String PROP_UPDATE_LINK =
+ "net.java.sip.communicator.UPDATE_LINK";
+
static
{
removeDownloadRestrictions();
@@ -237,7 +243,15 @@ public class UpdateCheckActivator
net.java.sip.communicator.service.version.Version
ver = verService.getCurrentVersion();
- String configString = Resources.getConfigString("update_link");
+ String configString = null;
+
+ configString = getConfigurationService().getString(
+ PROP_UPDATE_LINK);
+
+ if(configString == null)
+ {
+ configString = Resources.getConfigString("update_link");
+ }
if(configString == null)
{
@@ -283,6 +297,8 @@ public class UpdateCheckActivator
{
final JDialog dialog = new SIPCommDialog()
{
+ private static final long serialVersionUID = 0L;
+
protected void close(boolean isEscaped)
{
}
@@ -695,9 +711,7 @@ public class UpdateCheckActivator
{
public void run()
{
- String osName = System.getProperty("os.name");
-
- if (osName.startsWith("Windows"))
+ if (OSUtils.IS_WINDOWS)
{
// register update button
Hashtable<String, String> toolsMenuFilter
@@ -715,7 +729,7 @@ public class UpdateCheckActivator
if(isNewestVersion())
return;
- if (osName.startsWith("Windows"))
+ if (OSUtils.IS_WINDOWS)
{
windowsUpdaterShow();
return;
@@ -723,6 +737,8 @@ public class UpdateCheckActivator
final JDialog dialog = new SIPCommDialog()
{
+ private static final long serialVersionUID = 0L;
+
protected void close(boolean isEscaped)
{
}