From 42bfa116262dba4df2def20debb9b0c48584e687 Mon Sep 17 00:00:00 2001 From: Lyubomir Marinov Date: Mon, 26 Sep 2011 09:02:28 +0000 Subject: [PATCH] Fixes a possible NullPointerException. --- .../ConfigurationServiceImpl.java | 4 +--- .../fileaccess/FileAccessServiceImpl.java | 7 +------ .../media/renderer/video/JAWTRenderer.java | 2 ++ .../java/sip/communicator/util/OSUtils.java | 21 ++++++++++++++++++- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/net/java/sip/communicator/impl/configuration/ConfigurationServiceImpl.java b/src/net/java/sip/communicator/impl/configuration/ConfigurationServiceImpl.java index 4232006bc..1cf98d943 100644 --- a/src/net/java/sip/communicator/impl/configuration/ConfigurationServiceImpl.java +++ b/src/net/java/sip/communicator/impl/configuration/ConfigurationServiceImpl.java @@ -544,9 +544,7 @@ void start(BundleContext bc) this.started = true; // retrieve a reference to the FileAccessService - ServiceReference faServiceReference = bc.getServiceReference( - FileAccessService.class.getName()); - this.faService = (FileAccessService) bc.getService(faServiceReference); + this.faService = ServiceUtils.getService(bc, FileAccessService.class); try { diff --git a/src/net/java/sip/communicator/impl/fileaccess/FileAccessServiceImpl.java b/src/net/java/sip/communicator/impl/fileaccess/FileAccessServiceImpl.java index 0615463d1..8fd207f48 100644 --- a/src/net/java/sip/communicator/impl/fileaccess/FileAccessServiceImpl.java +++ b/src/net/java/sip/communicator/impl/fileaccess/FileAccessServiceImpl.java @@ -439,11 +439,6 @@ private static int getMajorOSVersion() */ public FailSafeTransaction createFailSafeTransaction(File file) { - if (file == null) - { - return null; - } - - return new FailSafeTransactionImpl(file); + return (file == null) ? null : new FailSafeTransactionImpl(file); } } diff --git a/src/net/java/sip/communicator/impl/neomedia/jmfext/media/renderer/video/JAWTRenderer.java b/src/net/java/sip/communicator/impl/neomedia/jmfext/media/renderer/video/JAWTRenderer.java index a363bd6ef..3d6a5180e 100644 --- a/src/net/java/sip/communicator/impl/neomedia/jmfext/media/renderer/video/JAWTRenderer.java +++ b/src/net/java/sip/communicator/impl/neomedia/jmfext/media/renderer/video/JAWTRenderer.java @@ -216,6 +216,8 @@ public synchronized Component getComponent() componentClassName.append(JAWTRenderer.class.getName()); if (USE_MACOSX_CALAYERS && OSUtils.IS_MAC) componentClassName.append("Swing"); + else if (OSUtils.IS_ANDROID) + componentClassName.append("Android"); componentClassName.append("VideoComponent"); Class componentClass; diff --git a/src/net/java/sip/communicator/util/OSUtils.java b/src/net/java/sip/communicator/util/OSUtils.java index 3fece5276..b66f892af 100644 --- a/src/net/java/sip/communicator/util/OSUtils.java +++ b/src/net/java/sip/communicator/util/OSUtils.java @@ -21,6 +21,9 @@ public class OSUtils /** true if architecture is 64 bit. */ public static final boolean IS_64_BIT; + /** true if OS is Android */ + public static final boolean IS_ANDROID; + /** true if OS is Linux. */ public static final boolean IS_LINUX; @@ -64,6 +67,7 @@ public class OSUtils if (osName == null) { + IS_ANDROID = false; IS_LINUX = false; IS_MAC = false; IS_WINDOWS = false; @@ -73,7 +77,18 @@ public class OSUtils } else if (osName.startsWith("Linux")) { - IS_LINUX = true; + String javaVmName = System.getProperty("java.vm.name"); + + if ((javaVmName != null) && javaVmName.equalsIgnoreCase("Dalvik")) + { + IS_ANDROID = true; + IS_LINUX = false; + } + else + { + IS_ANDROID = false; + IS_LINUX = true; + } IS_MAC = false; IS_WINDOWS = false; IS_WINDOWS_VISTA = false; @@ -82,6 +97,7 @@ else if (osName.startsWith("Linux")) } else if (osName.startsWith("Mac")) { + IS_ANDROID = false; IS_LINUX = false; IS_MAC = true; IS_WINDOWS = false; @@ -91,6 +107,7 @@ else if (osName.startsWith("Mac")) } else if (osName.startsWith("Windows")) { + IS_ANDROID = false; IS_LINUX = false; IS_MAC = false; IS_WINDOWS = true; @@ -100,6 +117,7 @@ else if (osName.startsWith("Windows")) } else if (osName.startsWith("FreeBSD")) { + IS_ANDROID = false; IS_LINUX = false; IS_MAC = false; IS_WINDOWS = false; @@ -109,6 +127,7 @@ else if (osName.startsWith("FreeBSD")) } else { + IS_ANDROID = false; IS_LINUX = false; IS_MAC = false; IS_WINDOWS = false;