From 68c0af0e06f87c0bff1f51427879dc77177f39eb Mon Sep 17 00:00:00 2001 From: Lyubomir Marinov Date: Tue, 4 Jun 2013 01:41:24 +0300 Subject: [PATCH 01/14] Improves AudioMixer for one-to-one calls, strives towards pass-through behavior. --- lib/installer-exclude/libjitsi.jar | Bin 1422616 -> 1438670 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/installer-exclude/libjitsi.jar b/lib/installer-exclude/libjitsi.jar index 49f73833b7aa451be6df3e518b03436eb2c3ca1f..91e5daa199b3fa42d84db82deb0a3fe90ed8b547 100644 GIT binary patch delta 139853 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 delta 124259 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 From b7aa64b806ddb61671509944385df3d1a8205123 Mon Sep 17 00:00:00 2001 From: Vincent Lucas Date: Tue, 4 Jun 2013 14:50:29 +0200 Subject: [PATCH 02/14] Logs only the first contact from MsOutlook, which can not be read correctly. --- .../MsOutlookAddrBookContactQuery.java | 32 ++++++++++++++++--- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java b/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java index e11a525ed..0755c5943 100644 --- a/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java +++ b/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java @@ -360,6 +360,12 @@ public class MsOutlookAddrBookContactQuery */ private int mapiMessageCount; + /** + * Boolea used to defined if we already get and logged a read contact + * property error. + */ + private boolean firstIMAPIPropGetPropFailureLogged = false; + /** * Initializes a new MsOutlookAddrBookContactQuery instance to * be performed by a specific @@ -812,11 +818,27 @@ private boolean onMailUser(String id) { logger.debug("Found contact id: " + id); } - Object[] props - = IMAPIProp_GetProps( - id, - MAPI_MAILUSER_PROP_IDS, - MAPI_UNICODE); + + Object[] props = null; + try + { + props + = IMAPIProp_GetProps(id, MAPI_MAILUSER_PROP_IDS, MAPI_UNICODE); + } + catch(MsOutlookMAPIHResultException ex) + { + if(ex.getHResult() == 0x80070057 // E_INVALIDARG + && firstIMAPIPropGetPropFailureLogged == false) + { + firstIMAPIPropGetPropFailureLogged = true; + throw ex; + } + else if(ex.getHResult() != 0x80070057) // NOT E_INVALIDARG + { + throw ex; + } + } + long objType = 0; if(props != null && props[PR_OBJECT_TYPE] != null From da90dd077c559922f09f200f5a490824976bf6c5 Mon Sep 17 00:00:00 2001 From: Lyubomir Marinov Date: Tue, 4 Jun 2013 18:47:05 +0300 Subject: [PATCH 03/14] Improves the garbage collection profile of SoundLevelIndicator. --- .../desktoputil/LowPriorityEventQueue.java | 104 ++++++- .../desktoputil/SoundLevelIndicator.java | 289 ++++++++++-------- 2 files changed, 252 insertions(+), 141 deletions(-) diff --git a/src/net/java/sip/communicator/plugin/desktoputil/LowPriorityEventQueue.java b/src/net/java/sip/communicator/plugin/desktoputil/LowPriorityEventQueue.java index a90444835..99aa3eeaa 100644 --- a/src/net/java/sip/communicator/plugin/desktoputil/LowPriorityEventQueue.java +++ b/src/net/java/sip/communicator/plugin/desktoputil/LowPriorityEventQueue.java @@ -14,21 +14,108 @@ * dispatched through the system event queue. * * @author Yana Stamcheva + * @author Lyubomir Marinov */ public class LowPriorityEventQueue { /** - * Causes runnable to have its run - * method called in the event dispatch thread with low priority. + * Initializes a new Runnable which allows the repetitive execution + * the specific runnable on the application's EventQueue + * instance. * - * @param runnable the Runnable whose run - * method should be executed synchronously on the EventQueue + * @param runnable the Runnable which is to be repetitively + * executed on the application's EventQueue instance + * @return a new Runnable which allows the repetitive execution of + * the specified runnable on the application's EventQueue + * instance + */ + public static Runnable createRepetitiveInvokeLater(final Runnable runnable) + { + return + new Runnable() + { + /** + * The AWTEvent instance which is to execute the + * specified runnable on {@link #eventQueue} i.e. the + * application's EventQueue instance. + */ + private AWTEvent event; + + /** + * The EventQueue instance on which {@link #event} is + * to execute the specified runnable i.e. the + * application's EventQueue instance. + */ + private EventQueue eventQueue; + + /** + * The indicator which determines whether the execution of the + * specified runnable has already been scheduled and + * has not been performed yet. If true, invocations to + * {@link #run()} will do nothing. + */ + private boolean posted = false; + + /** + * Schedules the specified runnable to be executed + * (unless the execution has already been scheduled and has not + * been performed yet). + */ + public synchronized void run() + { + if (posted) + return; + + if (event == null) + { + Toolkit defaultToolkit = Toolkit.getDefaultToolkit(); + + eventQueue = defaultToolkit.getSystemEventQueue(); + event + = new LowPriorityInvocationEvent( + defaultToolkit, + new Runnable() + { + public void run() + { + runInEvent(); + } + }); + } + + eventQueue.postEvent(event); + posted = true; + } + + /** + * Runs during the dispatch of {@link #event} and executed the + * specified runnable. + */ + private void runInEvent() + { + synchronized (this) + { + posted = false; + } + + runnable.run(); + } + }; + } + + /** + * Causes runnable to have its run method called in the + * event dispatch thread with low priority. + * + * @param runnable the Runnable whose run method should be + * executed synchronously on the EventQueue */ public static void invokeLater(Runnable runnable) { - Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent( - new LowPriorityInvocationEvent( - Toolkit.getDefaultToolkit(), runnable)); + Toolkit defaultToolkit = Toolkit.getDefaultToolkit(); + + defaultToolkit.getSystemEventQueue().postEvent( + new LowPriorityInvocationEvent(defaultToolkit, runnable)); } /** @@ -38,7 +125,8 @@ public static void invokeLater(Runnable runnable) * priority as an update paint event, which is normally with lower priority * than other events. */ - private static class LowPriorityInvocationEvent extends InvocationEvent + private static class LowPriorityInvocationEvent + extends InvocationEvent { /** * Serial version UID. diff --git a/src/net/java/sip/communicator/plugin/desktoputil/SoundLevelIndicator.java b/src/net/java/sip/communicator/plugin/desktoputil/SoundLevelIndicator.java index 90b4aaacd..8bbdbe4f1 100644 --- a/src/net/java/sip/communicator/plugin/desktoputil/SoundLevelIndicator.java +++ b/src/net/java/sip/communicator/plugin/desktoputil/SoundLevelIndicator.java @@ -55,6 +55,20 @@ public class SoundLevelIndicator private static final String SOUND_LEVEL_INACTIVE_RIGHT = "service.gui.soundlevel.SOUND_LEVEL_INACTIVE_RIGHT"; + /** + * A runnable that will be used to update the sound level. + */ + private final LevelUpdate levelUpdate = new LevelUpdate(); + + /** + * The Runnable which schedules the execution of + * {@link #levelUpdate}. Introduced to better the garbage collection profile + * of the utilization of LowPriorityEventQueue. + * + * @see LowPriorityEventQueue#createRepetitiveInvokeLater(Runnable) + */ + private Runnable levelUpdateScheduler; + /** * The maximum possible sound level. */ @@ -116,11 +130,6 @@ public class SoundLevelIndicator */ private ImageIcon soundLevelInactiveImageRight; - /** - * A runnable that will be used to update the sound level. - */ - private LevelUpdate levelUpdate = new LevelUpdate(); - /** * Initializes a new SoundLevelIndicator instance. * @@ -138,6 +147,131 @@ public SoundLevelIndicator(int minSoundLevel, int maxSoundLevel) setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); } + /** + * Returns the number of sound level bars that we could currently show in + * this panel. + * + * @param width the current width of the call window + * @return the number of sound level bars that we could currently show in + * this panel + */ + private int getSoundBarCount(int width) + { + int soundBarWidth = soundLevelActiveImageLeft.getIconWidth(); + + return width / soundBarWidth; + } + + /** + * Reloads icons. + */ + public void loadSkin() + { + ResourceManagementService resources = DesktopUtilActivator.getResources(); + + soundLevelActiveImageLeft + = resources.getImage(SOUND_LEVEL_ACTIVE_LEFT); + soundLevelActiveImageLeftGradient + = resources.getImage(SOUND_LEVEL_ACTIVE_LEFT_GRADIENT); + soundLevelActiveImageMiddle + = resources.getImage(SOUND_LEVEL_ACTIVE_MIDDLE); + soundLevelActiveImageRight + = resources.getImage(SOUND_LEVEL_ACTIVE_RIGHT); + soundLevelActiveImageRightGradient + = resources.getImage(SOUND_LEVEL_ACTIVE_RIGHT_GRADIENT); + + soundLevelInactiveImageLeft + = resources.getImage(SOUND_LEVEL_INACTIVE_LEFT); + soundLevelInactiveImageMiddle + = resources.getImage(SOUND_LEVEL_INACTIVE_MIDDLE); + soundLevelInactiveImageRight + = resources.getImage(SOUND_LEVEL_INACTIVE_RIGHT); + + if (!isPreferredSizeSet()) + { + int preferredHeight = 0; + int preferredWidth = 0; + + if (soundLevelActiveImageLeft != null) + { + int height = soundLevelActiveImageLeft.getIconHeight(); + int width = soundLevelActiveImageLeft.getIconWidth(); + + if (preferredHeight < height) + preferredHeight = height; + if (preferredWidth < width) + preferredWidth = width; + } + if (soundLevelInactiveImageLeft != null) + { + int height = soundLevelInactiveImageLeft.getIconHeight(); + int width = soundLevelInactiveImageLeft.getIconWidth(); + + if (preferredHeight < height) + preferredHeight = height; + if (preferredWidth < width) + preferredWidth = width; + } + if ((preferredHeight > 0) && (preferredWidth > 0)) + setPreferredSize( + new Dimension( + 10 * preferredWidth, + preferredHeight)); + } + + updateSoundLevel(soundLevel); + } + + public void resetSoundLevel() + { + soundLevel = minSoundLevel; + updateSoundLevel(minSoundLevel); + } + + @Override + public void setBounds(int x, int y, int width, int height) + { + super.setBounds(x, y, width, height); + + int newSoundBarCount = getSoundBarCount(getWidth()); + + if (newSoundBarCount > 0) + { + while (newSoundBarCount < soundBarCount) + { + for (int i = getComponentCount() - 1; i >= 0; i--) + { + Component c = getComponent(i); + + if (c instanceof JLabel) + { + remove(c); + soundBarCount--; + break; + } + } + } + while (soundBarCount < newSoundBarCount) + { + JLabel soundBar; + if (soundBarCount == 0) + soundBar = new JLabel(soundLevelInactiveImageLeft); + else if (soundBarCount == newSoundBarCount - 1) + soundBar = new JLabel(soundLevelInactiveImageRight); + else + soundBar = new JLabel(soundLevelInactiveImageMiddle); + + soundBar.setVerticalAlignment(JLabel.CENTER); + add(soundBar); + soundBarCount++; + } + } + + updateSoundLevel(soundLevel); + revalidate(); + repaint(); + } + /** * Update the sound level indicator component to fit the given values. * @@ -146,7 +280,21 @@ public SoundLevelIndicator(int minSoundLevel, int maxSoundLevel) public void updateSoundLevel(int soundLevel) { levelUpdate.setSoundLevel(soundLevel); - LowPriorityEventQueue.invokeLater(levelUpdate); + + Runnable levelUpdateScheduler; + + synchronized (this) + { + if (this.levelUpdateScheduler == null) + { + this.levelUpdateScheduler + = LowPriorityEventQueue.createRepetitiveInvokeLater( + levelUpdate); + } + levelUpdateScheduler = this.levelUpdateScheduler; + } + + levelUpdateScheduler.run(); } /** @@ -243,132 +391,7 @@ else if (i == components.length - 1) } repaint(); - } - - public void resetSoundLevel() - { - soundLevel = minSoundLevel; - updateSoundLevel(minSoundLevel); - } - - @Override - public void setBounds(int x, int y, int width, int height) - { - super.setBounds(x, y, width, height); - - int newSoundBarCount = getSoundBarCount(getWidth()); - - if (newSoundBarCount > 0) - { - while (newSoundBarCount < soundBarCount) - { - for (int i = getComponentCount() - 1; i >= 0; i--) - { - Component c = getComponent(i); - - if (c instanceof JLabel) - { - remove(c); - soundBarCount--; - break; - } - } - } - while (soundBarCount < newSoundBarCount) - { - JLabel soundBar; - if (soundBarCount == 0) - soundBar = new JLabel(soundLevelInactiveImageLeft); - else if (soundBarCount == newSoundBarCount - 1) - soundBar = new JLabel(soundLevelInactiveImageRight); - else - soundBar = new JLabel(soundLevelInactiveImageMiddle); - - soundBar.setVerticalAlignment(JLabel.CENTER); - add(soundBar); - soundBarCount++; - } - } - - updateSoundLevel(soundLevel); - revalidate(); - repaint(); - } - - /** - * Returns the number of sound level bars that we could currently show in - * this panel. - * - * @param width the current width of the call window - * @return the number of sound level bars that we could currently show in - * this panel - */ - private int getSoundBarCount(int width) - { - int soundBarWidth = soundLevelActiveImageLeft.getIconWidth(); - - return width / soundBarWidth; - } - - /** - * Reloads icons. - */ - public void loadSkin() - { - ResourceManagementService resources = DesktopUtilActivator.getResources(); - - soundLevelActiveImageLeft - = resources.getImage(SOUND_LEVEL_ACTIVE_LEFT); - soundLevelActiveImageLeftGradient - = resources.getImage(SOUND_LEVEL_ACTIVE_LEFT_GRADIENT); - soundLevelActiveImageMiddle - = resources.getImage(SOUND_LEVEL_ACTIVE_MIDDLE); - soundLevelActiveImageRight - = resources.getImage(SOUND_LEVEL_ACTIVE_RIGHT); - soundLevelActiveImageRightGradient - = resources.getImage(SOUND_LEVEL_ACTIVE_RIGHT_GRADIENT); - - soundLevelInactiveImageLeft - = resources.getImage(SOUND_LEVEL_INACTIVE_LEFT); - soundLevelInactiveImageMiddle - = resources.getImage(SOUND_LEVEL_INACTIVE_MIDDLE); - soundLevelInactiveImageRight - = resources.getImage(SOUND_LEVEL_INACTIVE_RIGHT); - - if (!isPreferredSizeSet()) - { - int preferredHeight = 0; - int preferredWidth = 0; - - if (soundLevelActiveImageLeft != null) - { - int height = soundLevelActiveImageLeft.getIconHeight(); - int width = soundLevelActiveImageLeft.getIconWidth(); - - if (preferredHeight < height) - preferredHeight = height; - if (preferredWidth < width) - preferredWidth = width; - } - if (soundLevelInactiveImageLeft != null) - { - int height = soundLevelInactiveImageLeft.getIconHeight(); - int width = soundLevelInactiveImageLeft.getIconWidth(); - - if (preferredHeight < height) - preferredHeight = height; - if (preferredWidth < width) - preferredWidth = width; - } - if ((preferredHeight > 0) && (preferredWidth > 0)) - setPreferredSize( - new Dimension( - 10 * preferredWidth, - preferredHeight)); - } - - updateSoundLevel(soundLevel); - } + }; /** * Runnable used to update sound levels. @@ -397,5 +420,5 @@ public void setSoundLevel(int soundLevel) { this.soundLevel = soundLevel; } - }; + } } From bbdcc938345599a6201271e640d40d4697ab1d32 Mon Sep 17 00:00:00 2001 From: Lyubomir Marinov Date: Wed, 5 Jun 2013 10:14:33 +0300 Subject: [PATCH 04/14] Improves the garbage collection profile of AudioMixer. --- lib/installer-exclude/libjitsi.jar | Bin 1438670 -> 1438848 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/installer-exclude/libjitsi.jar b/lib/installer-exclude/libjitsi.jar index 91e5daa199b3fa42d84db82deb0a3fe90ed8b547..852bada63884adb8bfc05c90d0e2fc25006fbe61 100644 GIT binary patch delta 52242 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 QWxqXFt2uXB0>c;kKPKsw?f?J) delta 52187 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 blhqQo^?B)681(|E;VZ48+wUt-(@y^faeer~ From 481623c49c56b3d79bebd2dd5bf651d766818d87 Mon Sep 17 00:00:00 2001 From: yanas Date: Wed, 5 Jun 2013 18:03:59 +0300 Subject: [PATCH 05/14] Fixes a possible PatternSyntaxException in Ldap contact source. --- .../GoogleContactsSourceService.java | 2 +- .../impl/ldap/LdapContactSourceService.java | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/net/java/sip/communicator/impl/googlecontacts/GoogleContactsSourceService.java b/src/net/java/sip/communicator/impl/googlecontacts/GoogleContactsSourceService.java index 48b51e2d1..b0f578c88 100644 --- a/src/net/java/sip/communicator/impl/googlecontacts/GoogleContactsSourceService.java +++ b/src/net/java/sip/communicator/impl/googlecontacts/GoogleContactsSourceService.java @@ -352,7 +352,7 @@ public ContactQuery queryContactSource(String query, int contactCount) { pattern = Pattern.compile(query); } - catch(PatternSyntaxException pse) + catch (PatternSyntaxException pse) { pattern = Pattern.compile( Pattern.quote(query)); diff --git a/src/net/java/sip/communicator/impl/ldap/LdapContactSourceService.java b/src/net/java/sip/communicator/impl/ldap/LdapContactSourceService.java index dd90821e4..48ec8e0b3 100644 --- a/src/net/java/sip/communicator/impl/ldap/LdapContactSourceService.java +++ b/src/net/java/sip/communicator/impl/ldap/LdapContactSourceService.java @@ -126,8 +126,7 @@ public int getType() */ public ContactQuery queryContactSource(String query) { - return queryContactSource( - Pattern.compile(query), LdapContactQuery.LDAP_MAX_RESULTS); + return queryContactSource(query, LdapContactQuery.LDAP_MAX_RESULTS); } /** @@ -139,7 +138,21 @@ public ContactQuery queryContactSource(String query) */ public ContactQuery queryContactSource(String query, int contactCount) { - return queryContactSource(Pattern.compile(query), contactCount); + Pattern pattern = null; + try + { + pattern = Pattern.compile(query); + } + catch (PatternSyntaxException pse) + { + pattern = Pattern.compile(Pattern.quote(query)); + } + + if(pattern != null) + { + return queryContactSource(pattern, contactCount); + } + return null; } /** From 051d5d422ad82b5b2a38813b4278f8ca1d9e5e90 Mon Sep 17 00:00:00 2001 From: Vincent Lucas Date: Wed, 5 Jun 2013 22:54:10 +0200 Subject: [PATCH 06/14] Silents multiple MsOutlook contact error corresponding to MAPI_E_0x57 when getting properties (logs only the first contact error). --- .../msoutlook/MsOutlookAddrBookContactQuery.java | 5 +++-- .../msoutlook/MsOutlookMAPIHResultException.java | 10 ++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java b/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java index 0755c5943..23d27f671 100644 --- a/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java +++ b/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java @@ -827,16 +827,17 @@ private boolean onMailUser(String id) } catch(MsOutlookMAPIHResultException ex) { - if(ex.getHResult() == 0x80070057 // E_INVALIDARG + if(ex.getHresultString().equals("MAPI_E_0x57") && firstIMAPIPropGetPropFailureLogged == false) { firstIMAPIPropGetPropFailureLogged = true; throw ex; } - else if(ex.getHResult() != 0x80070057) // NOT E_INVALIDARG + else if(!ex.getHresultString().equals("MAPI_E_0x57")) { throw ex; } + return true; } long objType = 0; diff --git a/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookMAPIHResultException.java b/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookMAPIHResultException.java index 411d46525..a54b7f7bd 100644 --- a/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookMAPIHResultException.java +++ b/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookMAPIHResultException.java @@ -99,4 +99,14 @@ private static String toString(long hResult) return s.toString(); } } + + /** + * Returns the string representation for the current hResult code. + * + * @return The string representation for the current hResult code. + */ + public String getHresultString() + { + return MsOutlookMAPIHResultException.toString(this.getHResult()); + } } From dd7162993e4f8cb7d5b4be5d916851267c8ca981 Mon Sep 17 00:00:00 2001 From: Boris Grozev Date: Thu, 6 Jun 2013 14:26:50 +0300 Subject: [PATCH 07/14] Don't advertise GTalk audio/video capabilities if calls are disabled (via the net.java.sip.communicator.impl.protocol.jabber.CALLING_DISABLED property) --- .../OperationSetBasicTelephonyJabberImpl.java | 4 ++-- .../ProtocolProviderServiceJabberImpl.java | 16 ++++++++++++++-- .../sip/ProtocolProviderServiceSipImpl.java | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetBasicTelephonyJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetBasicTelephonyJabberImpl.java index b1aa32b7e..59a05a1f3 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetBasicTelephonyJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetBasicTelephonyJabberImpl.java @@ -339,7 +339,7 @@ else if(calleeAddress.endsWith(GOOGLE_VOICE_DOMAIN)) { isGingle = false; } - else if (protocolProvider.isGTalkTesting() // test GTALK property + else if (protocolProvider.isGTalkTesting() // GTalk enabled locally // see if peer supports Google Talk voice && (hasGtalkCaps || alwaysCallGtalk)) { @@ -515,7 +515,7 @@ else if(priority == bestPriority && jabberStatus != null) } } } - else if (protocolProvider.isGTalkTesting() // test GTALK property + else if (protocolProvider.isGTalkTesting() // GTalk enabled locally // see if peer supports Google Talk voice && (hasGtalkCaps || isAlwaysCallGtalk)) { diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java index 8b1e19515..6acdc290a 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java @@ -193,7 +193,7 @@ public class ProtocolProviderServiceJabberImpl "DESKTOP_STREAMING_DISABLED"; /** - * The name of the property under which the user may specify if the video + * The name of the property under which the user may specify if audio/video * calls should be disabled. */ private static final String IS_CALLING_DISABLED @@ -1313,7 +1313,19 @@ private void registerServiceDiscoveryManager() supportedFeatures.toArray( new String[supportedFeatures.size()])); - if(isGTalkTesting()) + boolean isCallingDisabled + = JabberActivator.getConfigurationService() + .getBoolean(IS_CALLING_DISABLED, false); + + boolean isCallingDisabledForAccount = false; + if (accountID != null && accountID.getAccountPropertyBoolean( + ProtocolProviderFactory.IS_CALLING_DISABLED_FOR_ACCOUNT, + false)) + isCallingDisabled = true; + + if(isGTalkTesting() + && !isCallingDisabled + && !isCallingDisabledForAccount) { // Add Google Talk "ext" capabilities discoveryManager.addExtFeature(CAPS_GTALK_WEB_VOICE); diff --git a/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java b/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java index 96fd0d82a..aed3522c5 100644 --- a/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java @@ -114,7 +114,7 @@ public class ProtocolProviderServiceSipImpl = "net.java.sip.communicator.impl.protocol.sip.DESKTOP_STREAMING_DISABLED"; /** - * The name of the property under which the user may specify if the video + * The name of the property under which the user may specify if audio/video * calls should be disabled. */ private static final String IS_CALLING_DISABLED From 4be1cd278558fe2d3e9f2d7ab3e78e682402d061 Mon Sep 17 00:00:00 2001 From: Boris Grozev Date: Thu, 6 Jun 2013 14:23:33 +0300 Subject: [PATCH 08/14] Show an error message if we try to initiate a call to an XMPP contact, who does not support either Jingle or GTalk. --- .../OperationSetBasicTelephonyJabberImpl.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetBasicTelephonyJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetBasicTelephonyJabberImpl.java index 59a05a1f3..89f662dcd 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetBasicTelephonyJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetBasicTelephonyJabberImpl.java @@ -315,6 +315,13 @@ else if(calleeAddress.endsWith(GOOGLE_VOICE_DOMAIN)) if (fullCalleeURI == null) fullCalleeURI = discoverFullJid(calleeAddress, alwaysCallGtalk); + if (fullCalleeURI == null) + throw new OperationFailedException( + "Failed to create outgoing call to " + calleeAddress + + ". Could not find a resource which supports " + + "Jingle or Google Talk", + OperationFailedException.INTERNAL_ERROR); + DiscoverInfo di = null; try @@ -363,7 +370,7 @@ else if(di != null) fullCalleeURI + ": jingle and Google Talk not supported?"); throw new OperationFailedException( - "Failed to create OutgoingJingleSession.\n" + "Failed to create an outgoing call.\n" + fullCalleeURI + " does not support jingle or Google Talk", OperationFailedException.INTERNAL_ERROR); } @@ -440,8 +447,8 @@ else if (di != null) } /** - * Discover on which resource the remote user is connected and what are - * its priorities and capabilities. + * Discovers the resource for calleeAddress with the highest + * priority which supports either Jingle or Gtalk. Returns the full JID. * * @param calleeAddress the address of the callee * @param isAlwaysCallGtalk indicates if gtalk should be called From cc33ac1b77db1a0c8ee8668ce0d32dbe9c60d195 Mon Sep 17 00:00:00 2001 From: Lyubomir Marinov Date: Fri, 7 Jun 2013 10:38:06 +0300 Subject: [PATCH 09/14] Switches the default audio system on Windows from PortAudio to Windows Audio Session API (WASAPI). --- lib/installer-exclude/libjitsi.jar | Bin 1438848 -> 1423747 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/installer-exclude/libjitsi.jar b/lib/installer-exclude/libjitsi.jar index 852bada63884adb8bfc05c90d0e2fc25006fbe61..646b496b4b5f51b9b6ec6df1b77d85cd561bd887 100644 GIT binary patch delta 65350 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 From 7fdc98e140541b9b12fdf810550c4e07799097b5 Mon Sep 17 00:00:00 2001 From: Vincent Lucas Date: Fri, 7 Jun 2013 13:59:27 +0200 Subject: [PATCH 10/14] Improves the IM resource management: fall back to the bare ID when the remote resource contact has no activity for a while. --- .../impl/gui/main/chat/ChatPanel.java | 20 ++- .../gui/main/chat/ChatSessionRenderer.java | 10 +- .../impl/gui/main/chat/ChatWritePanel.java | 121 +++++++++++++++++- .../gui/main/chat/MetaContactChatSession.java | 5 +- .../gui/main/contactlist/ContactListPane.java | 4 +- ...ionSetBasicInstantMessagingJabberImpl.java | 10 ++ ...ractOperationSetBasicInstantMessaging.java | 10 ++ .../OperationSetBasicInstantMessaging.java | 7 + 8 files changed, 173 insertions(+), 14 deletions(-) diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/ChatPanel.java b/src/net/java/sip/communicator/impl/gui/main/chat/ChatPanel.java index 8357af870..00842117d 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/ChatPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/ChatPanel.java @@ -1302,7 +1302,7 @@ public void sendFile( final File file, final ChatTransport sendFileTransport = this.findFileTransferChatTransport(); - this.setSelectedChatTransport(sendFileTransport); + this.setSelectedChatTransport(sendFileTransport, true); if(file.length() > sendFileTransport.getMaximumFileLength()) { @@ -1968,10 +1968,20 @@ public void removeChatTransport(ChatTransport chatTransport) * Selects the given chat transport in the send via box. * * @param chatTransport the chat transport to be selected - */ - public void setSelectedChatTransport(ChatTransport chatTransport) - { - writeMessagePanel.setSelectedChatTransport(chatTransport); + * @param isMessageOrFileTransferReceived Boolean telling us if this change + * of the chat transport correspond to an effective switch to this new + * transform (a mesaage received from this transport, or a file transfer + * request received, or if the resource timeouted), or just a status update + * telling us a new chatTransport is now available (i.e. another device has + * startup). + */ + public void setSelectedChatTransport( + ChatTransport chatTransport, + boolean isMessageOrFileTransferReceived) + { + writeMessagePanel.setSelectedChatTransport( + chatTransport, + isMessageOrFileTransferReceived); } /** diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/ChatSessionRenderer.java b/src/net/java/sip/communicator/impl/gui/main/chat/ChatSessionRenderer.java index bf25ebce4..dd10a1fd7 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/ChatSessionRenderer.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/ChatSessionRenderer.java @@ -69,8 +69,16 @@ public interface ChatSessionRenderer * Sets the given chatTransport to be the selected chat transport. * * @param chatTransport the ChatTransport to select + * @param isMessageOrFileTransferReceived Boolean telling us if this change + * of the chat transport correspond to an effective switch to this new + * transform (a mesaage received from this transport, or a file transfer + * request received, or if the resource timeouted), or just a status update + * telling us a new chatTransport is now available (i.e. another device has + * startup). */ - public void setSelectedChatTransport(ChatTransport chatTransport); + public void setSelectedChatTransport( + ChatTransport chatTransport, + boolean isMessageOrFileTransferReceived); /** * Updates the status of the given chat contact. diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/ChatWritePanel.java b/src/net/java/sip/communicator/impl/gui/main/chat/ChatWritePanel.java index 6b438884c..e527cac84 100755 --- a/src/net/java/sip/communicator/impl/gui/main/chat/ChatWritePanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/ChatWritePanel.java @@ -89,6 +89,20 @@ public class ChatWritePanel private boolean smsMode = false; + /** + * A timer used to reset the transport resource to the bare ID if there was + * no activity from this resource since a buch a time. + */ + private java.util.Timer outdatedResourceTimer = null; + + /** + * Tells if the current resource is outdated. A timer has already been + * triggered, but when there is only a single resource there is no bare ID + * avaialble. Thus, flag this resource as outdated to switch to the bare ID + * when available. + */ + private boolean isOutdatedResource = true; + /** * Creates an instance of ChatWritePanel. * @@ -1008,9 +1022,17 @@ else if (transportSelectorBox != null) /** * Selects the given chat transport in the send via box. * - * @param chatTransport the chat transport to be selected + * @param chatTransport The chat transport to be selected. + * @param isMessageOrFileTransferReceived Boolean telling us if this change + * of the chat transport correspond to an effective switch to this new + * transform (a mesaage received from this transport, or a file transfer + * request received, or if the resource timeouted), or just a status update + * telling us a new chatTransport is now available (i.e. another device has + * startup). */ - public void setSelectedChatTransport(final ChatTransport chatTransport) + public void setSelectedChatTransport( + final ChatTransport chatTransport, + final boolean isMessageOrFileTransferReceived) { // We need to be sure that the following code is executed in the event // dispatch thread. @@ -1020,13 +1042,64 @@ public void setSelectedChatTransport(final ChatTransport chatTransport) { public void run() { - setSelectedChatTransport(chatTransport); + setSelectedChatTransport( + chatTransport, + isMessageOrFileTransferReceived); } }); return; } - if (transportSelectorBox != null) + // Check if this contact provider can manages several resources and thus + // provides a resource timeout via the basic IM operation set. + long timeout = -1; + OperationSetBasicInstantMessaging opSetBasicIM + = chatTransport.getProtocolProvider().getOperationSet( + OperationSetBasicInstantMessaging.class); + if(opSetBasicIM != null) + { + timeout = opSetBasicIM.getInactivityTimeout(); + } + + if(isMessageOrFileTransferReceived) + { + isOutdatedResource = false; + } + + // If this contact supports several resources, then schedule the timer: + // - If the resource is outdated, then trigger the timer now (to try to + // switch to the bare ID if now available). + // - If the new reousrce transport is really effective (i.e. we have + // received a message from this resource). + if(timeout != -1 + && (isMessageOrFileTransferReceived || isOutdatedResource)) + { + // If there was already a timeout, but the bare ID was not available + // (i.e. a single resource present). Then call the timeout procedure + // now in order to switch to the bare ID. + if(isOutdatedResource) + { + timeout = 0; + } + // Cancels the preceding timer. + if(outdatedResourceTimer != null) + { + outdatedResourceTimer.cancel(); + outdatedResourceTimer.purge(); + } + // Schedules the timer. + if(chatTransport.getResourceName() != null) + { + OutdatedResourceTimerTask task + = new OutdatedResourceTimerTask(); + outdatedResourceTimer = new java.util.Timer(); + outdatedResourceTimer.schedule(task, timeout); + } + } + + // Sets the new reousrce transport is really effective (i.e. we have + // received a message from this resource). + if(transportSelectorBox != null && isMessageOrFileTransferReceived) { transportSelectorBox.setSelected(chatTransport); } @@ -1374,4 +1447,44 @@ public void setEditorPaneBackground(Color color) this.centerPanel.setBackground(color); this.editorPane.setBackground(color); } + + + /** + * The task called when the current transport resource timed-out (no + * acitivty since a long time). Then this task resets the destination to the + * bare id. + */ + private class OutdatedResourceTimerTask + extends TimerTask + { + /** + * The action to be performed by this timer task. + */ + public void run() + { + outdatedResourceTimer = null; + + ChatTransport transport = null; + + Iterator transports + = chatPanel.getChatSession().getChatTransports(); + + while(transports.hasNext()) + { + transport = transports.next(); + + // We found the bare ID, then set it as the current resource + // transport. + if(transport.getResourceName() == null) + { + isOutdatedResource = false; + setSelectedChatTransport(transport, true); + return; + } + } + // If there is no bare ID avaialalbe, then set the current resource + // transport as outdated. + isOutdatedResource = true; + } + } } diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/MetaContactChatSession.java b/src/net/java/sip/communicator/impl/gui/main/chat/MetaContactChatSession.java index 145e45127..f13ef3b1d 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/MetaContactChatSession.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/MetaContactChatSession.java @@ -698,14 +698,15 @@ private void addChatTransports( Contact contact, if (isSelectedContact) { currentChatTransport = chatTransport; - sessionRenderer.setSelectedChatTransport(chatTransport); + sessionRenderer.setSelectedChatTransport(chatTransport, false); } // If no current transport is set we choose the first one in the list. if (currentChatTransport == null) { currentChatTransport = chatTransports.get(0); - sessionRenderer.setSelectedChatTransport(currentChatTransport); + sessionRenderer + .setSelectedChatTransport(currentChatTransport, false); } if (contact.supportResources()) diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListPane.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListPane.java index aaba89163..63ab88073 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListPane.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListPane.java @@ -360,7 +360,7 @@ else if(eventType == MessageReceivedEvent.SMS_MESSAGE_RECEIVED) = chatPanel.getChatSession() .findChatTransportForDescriptor(protocolContact, resourceName); - chatPanel.setSelectedChatTransport(chatTransport); + chatPanel.setSelectedChatTransport(chatTransport, true); } /** @@ -614,7 +614,7 @@ public void fileTransferRequestReceived(FileTransferRequestEvent event) = chatPanel.getChatSession() .findChatTransportForDescriptor(sourceContact, null); - chatPanel.setSelectedChatTransport(chatTransport); + chatPanel.setSelectedChatTransport(chatTransport, true); // Opens the chat panel with the new message in the UI thread. chatWindowManager.openChat(chatPanel, false); diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetBasicInstantMessagingJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetBasicInstantMessagingJabberImpl.java index 0005f5dca..00091b27c 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetBasicInstantMessagingJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetBasicInstantMessagingJabberImpl.java @@ -1079,4 +1079,14 @@ public void processPacket(Packet packet) jabberProvider.getConnection().sendPacket(mailboxQueryIQ); } } + + /** + * Returns the inactivity timeout in milliseconds. + * + * @return The inactivity timeout in milliseconds. Or -1 if undefined + */ + public long getInactivityTimeout() + { + return JID_INACTIVITY_TIMEOUT; + } } diff --git a/src/net/java/sip/communicator/service/protocol/AbstractOperationSetBasicInstantMessaging.java b/src/net/java/sip/communicator/service/protocol/AbstractOperationSetBasicInstantMessaging.java index effade7f5..74077c6f5 100644 --- a/src/net/java/sip/communicator/service/protocol/AbstractOperationSetBasicInstantMessaging.java +++ b/src/net/java/sip/communicator/service/protocol/AbstractOperationSetBasicInstantMessaging.java @@ -367,4 +367,14 @@ public void sendInstantMessage( Contact to, { sendInstantMessage(to, message); } + + /** + * Returns the inactivity timeout in milliseconds. + * + * @return The inactivity timeout in milliseconds. Or -1 if undefined + */ + public long getInactivityTimeout() + { + return -1; + } } diff --git a/src/net/java/sip/communicator/service/protocol/OperationSetBasicInstantMessaging.java b/src/net/java/sip/communicator/service/protocol/OperationSetBasicInstantMessaging.java index e76c259a6..763639445 100644 --- a/src/net/java/sip/communicator/service/protocol/OperationSetBasicInstantMessaging.java +++ b/src/net/java/sip/communicator/service/protocol/OperationSetBasicInstantMessaging.java @@ -138,4 +138,11 @@ public void sendInstantMessage( Contact to, * false otherwise. */ public boolean isContentTypeSupported(String contentType, Contact contact); + + /** + * Returns the inactivity timeout in milliseconds. + * + * @return The inactivity timeout in milliseconds. Or -1 if undefined + */ + public long getInactivityTimeout(); } From b91c31bc3356a2802b90383e9feb82ecd71ef29e Mon Sep 17 00:00:00 2001 From: yanas Date: Fri, 7 Jun 2013 15:39:17 +0300 Subject: [PATCH 11/14] Fixes away and dnd status selection behavior when offline, in a way that the accounts get connected. Fixes setting DND global status for SIP accounts. Moves the GlobalStatusServiceImpl to the globaldetails bundle in order to be easily used from jitsi-android. --- .../GlobalDisplayDetailsActivator.java | 53 +++++ .../GlobalStatusServiceImpl.java | 206 +++++++++++++----- .../globaldisplaydetails.manifest.mf | 2 + .../communicator/impl/gui/GuiActivator.java | 8 - .../communicator/service/gui/UIService.java | 8 + .../communicator/service/gui/gui.manifest.mf | 1 + .../globalstatus/GlobalStatusEnum.java | 4 +- 7 files changed, 216 insertions(+), 66 deletions(-) rename src/net/java/sip/communicator/impl/{gui/main/presence => globaldisplaydetails}/GlobalStatusServiceImpl.java (71%) diff --git a/src/net/java/sip/communicator/impl/globaldisplaydetails/GlobalDisplayDetailsActivator.java b/src/net/java/sip/communicator/impl/globaldisplaydetails/GlobalDisplayDetailsActivator.java index 0c5c78d2d..55dc3df84 100644 --- a/src/net/java/sip/communicator/impl/globaldisplaydetails/GlobalDisplayDetailsActivator.java +++ b/src/net/java/sip/communicator/impl/globaldisplaydetails/GlobalDisplayDetailsActivator.java @@ -7,7 +7,9 @@ package net.java.sip.communicator.impl.globaldisplaydetails; import net.java.sip.communicator.service.globaldisplaydetails.*; +import net.java.sip.communicator.service.gui.*; import net.java.sip.communicator.service.protocol.*; +import net.java.sip.communicator.service.protocol.globalstatus.*; import net.java.sip.communicator.util.*; import org.jitsi.service.configuration.*; @@ -37,6 +39,16 @@ public class GlobalDisplayDetailsActivator */ private static ConfigurationService configService; + /** + * The alert UI service. + */ + private static AlertUIService alertUIService; + + /** + * The UI service. + */ + private static UIService uiService; + /** * The display details implementation. */ @@ -61,6 +73,11 @@ public void start(BundleContext bc) GlobalDisplayDetailsService.class.getName(), displayDetailsImpl, null); + + bundleContext.registerService( + GlobalStatusService.class.getName(), + new GlobalStatusServiceImpl(), + null); } /** @@ -111,6 +128,42 @@ public static ConfigurationService getConfigurationService() return configService; } + /** + * Returns the AlertUIService obtained from the bundle + * context. + * @return the AlertUIService obtained from the bundle + * context + */ + public static AlertUIService getAlertUIService() + { + if(alertUIService == null) + { + alertUIService + = ServiceUtils.getService( + bundleContext, + AlertUIService.class); + } + return alertUIService; + } + + /** + * Returns the UIService obtained from the bundle + * context. + * @return the UIService obtained from the bundle + * context + */ + public static UIService getUIService() + { + if(uiService == null) + { + uiService + = ServiceUtils.getService( + bundleContext, + UIService.class); + } + return uiService; + } + /** * Implements the ServiceListener method. Verifies whether the * passed event concerns a ProtocolProviderService and adds or diff --git a/src/net/java/sip/communicator/impl/gui/main/presence/GlobalStatusServiceImpl.java b/src/net/java/sip/communicator/impl/globaldisplaydetails/GlobalStatusServiceImpl.java similarity index 71% rename from src/net/java/sip/communicator/impl/gui/main/presence/GlobalStatusServiceImpl.java rename to src/net/java/sip/communicator/impl/globaldisplaydetails/GlobalStatusServiceImpl.java index eb09a41b7..616c200de 100644 --- a/src/net/java/sip/communicator/impl/gui/main/presence/GlobalStatusServiceImpl.java +++ b/src/net/java/sip/communicator/impl/globaldisplaydetails/GlobalStatusServiceImpl.java @@ -3,10 +3,8 @@ * * Distributable under LGPL license. See terms of license at gnu.org. */ -package net.java.sip.communicator.impl.gui.main.presence; +package net.java.sip.communicator.impl.globaldisplaydetails; -import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.plugin.desktoputil.*; import net.java.sip.communicator.service.protocol.*; import net.java.sip.communicator.service.protocol.globalstatus.*; import net.java.sip.communicator.util.*; @@ -45,6 +43,8 @@ public PresenceStatus getLastPresenceStatus( { String lastStatus = getLastStatusString(protocolProvider); + PresenceStatus status = null; + if (lastStatus != null) { OperationSetPresence presence @@ -54,16 +54,62 @@ public PresenceStatus getLastPresenceStatus( return null; Iterator i = presence.getSupportedStatusSet(); - PresenceStatus status; + // Check if there's such status in the supported presence status + // set. while (i.hasNext()) { - status = i.next(); - if (status.getStatusName().equals(lastStatus)) - return status; + PresenceStatus nextStatus = i.next(); + + if (nextStatus.getStatusName().equals(lastStatus)) + status = nextStatus; + } + + // If we haven't found the last status in the protocol provider + // supported status set, we'll have a look for a corresponding + // global status and its protocol representation. + if (status == null) + { + if (lastStatus.equals(GlobalStatusEnum.ONLINE_STATUS)) + { + status = getPresenceStatus( + protocolProvider, + PresenceStatus.AVAILABLE_THRESHOLD, + PresenceStatus.EAGER_TO_COMMUNICATE_THRESHOLD); + } + else if (lastStatus.equals(GlobalStatusEnum.AWAY_STATUS)) + { + status = getPresenceStatus( + protocolProvider, + PresenceStatus.AWAY_THRESHOLD, + PresenceStatus.AVAILABLE_THRESHOLD); + } + else if (lastStatus + .equals(GlobalStatusEnum.DO_NOT_DISTURB_STATUS)) + { + status = getPresenceStatus( + protocolProvider, + PresenceStatus.ONLINE_THRESHOLD, + PresenceStatus.AWAY_THRESHOLD); + } + else if (lastStatus + .equals(GlobalStatusEnum.FREE_FOR_CHAT_STATUS)) + { + status = getPresenceStatus( + protocolProvider, + PresenceStatus.AVAILABLE_THRESHOLD, + PresenceStatus.MAX_STATUS_VALUE); + } + else if (lastStatus.equals(GlobalStatusEnum.OFFLINE_STATUS)) + { + status = getPresenceStatus( + protocolProvider, + 0, + GlobalStatusEnum.ONLINE_THRESHOLD); + } } } - return null; + return status; } /** @@ -79,7 +125,7 @@ public String getLastStatusString(ProtocolProviderService protocolProvider) String lastStatus = null; ConfigurationService configService - = GuiActivator.getConfigurationService(); + = GlobalDisplayDetailsActivator.getConfigurationService(); String prefix = "net.java.sip.communicator.impl.gui.accounts"; List accounts = configService.getPropertyNamesByPrefix(prefix, true); @@ -121,7 +167,7 @@ public void publishStatus( = protocolProvider.getOperationSet(OperationSetPresence.class); LoginManager loginManager - = GuiActivator.getUIService().getLoginManager(); + = GlobalDisplayDetailsActivator.getUIService().getLoginManager(); RegistrationState registrationState = protocolProvider.getRegistrationState(); @@ -147,7 +193,7 @@ else if (registrationState != RegistrationState.REGISTERED && registrationState != RegistrationState.AUTHENTICATING && status.isOnline()) { - GuiActivator.getUIService().getLoginManager() + GlobalDisplayDetailsActivator.getUIService().getLoginManager() .login(protocolProvider); } else if (!status.isOnline() @@ -176,12 +222,11 @@ public void publishStatus(GlobalStatusEnum globalStatus) String itemName = globalStatus.getStatusName(); Iterator pProviders - = GuiActivator.getUIService().getMainFrame().getProtocolProviders(); + = AccountUtils.getRegisteredProviders().iterator(); while (pProviders.hasNext()) { - ProtocolProviderService protocolProvider - = pProviders.next(); + ProtocolProviderService protocolProvider = pProviders.next(); if(itemName.equals(GlobalStatusEnum.ONLINE_STATUS)) { @@ -189,8 +234,8 @@ public void publishStatus(GlobalStatusEnum globalStatus) { saveStatusInformation(protocolProvider, itemName); - GuiActivator.getUIService().getLoginManager() - .login(protocolProvider); + GlobalDisplayDetailsActivator.getUIService() + .getLoginManager().login(protocolProvider); } else { @@ -282,27 +327,51 @@ else if (itemName.equals(GlobalStatusEnum.OFFLINE_STATUS)) } else if (itemName.equals(GlobalStatusEnum.FREE_FOR_CHAT_STATUS)) { - // we search for highest available status here - publishStatus( - protocolProvider, - PresenceStatus.AVAILABLE_THRESHOLD, - PresenceStatus.MAX_STATUS_VALUE); + if(!protocolProvider.isRegistered()) + { + saveStatusInformation(protocolProvider, itemName); + + GlobalDisplayDetailsActivator.getUIService() + .getLoginManager().login(protocolProvider); + } + else + // we search for highest available status here + publishStatus( + protocolProvider, + PresenceStatus.AVAILABLE_THRESHOLD, + PresenceStatus.MAX_STATUS_VALUE); } else if (itemName.equals(GlobalStatusEnum.DO_NOT_DISTURB_STATUS)) { - // status between online and away is DND - publishStatus( - protocolProvider, - PresenceStatus.ONLINE_THRESHOLD, - PresenceStatus.AWAY_THRESHOLD); + if(!protocolProvider.isRegistered()) + { + saveStatusInformation(protocolProvider, itemName); + + GlobalDisplayDetailsActivator.getUIService() + .getLoginManager().login(protocolProvider); + } + else + // status between online and away is DND + publishStatus( + protocolProvider, + PresenceStatus.ONLINE_THRESHOLD, + PresenceStatus.AWAY_THRESHOLD); } else if (itemName.equals(GlobalStatusEnum.AWAY_STATUS)) { - // a status in the away interval - publishStatus( - protocolProvider, - PresenceStatus.AWAY_THRESHOLD, - PresenceStatus.AVAILABLE_THRESHOLD); + if(!protocolProvider.isRegistered()) + { + saveStatusInformation(protocolProvider, itemName); + + GlobalDisplayDetailsActivator.getUIService() + .getLoginManager().login(protocolProvider); + } + else + // a status in the away interval + publishStatus( + protocolProvider, + PresenceStatus.AWAY_THRESHOLD, + PresenceStatus.AVAILABLE_THRESHOLD); } } } @@ -323,12 +392,35 @@ private void publishStatus( if (!protocolProvider.isRegistered()) return; + PresenceStatus status = getPresenceStatus( protocolProvider, + floorStatusValue, + ceilStatusValue); + + if (status != null) + { + OperationSetPresence presence + = protocolProvider + .getOperationSet(OperationSetPresence.class); + + new PublishPresenceStatusThread(protocolProvider, presence, status) + .start(); + + this.saveStatusInformation( protocolProvider, + status.getStatusName()); + } + } + + private PresenceStatus getPresenceStatus( + ProtocolProviderService protocolProvider, + int floorStatusValue, + int ceilStatusValue) + { OperationSetPresence presence = protocolProvider .getOperationSet(OperationSetPresence.class); if (presence == null) - return; + return null; Iterator statusSet = presence.getSupportedStatusSet(); @@ -357,14 +449,7 @@ private void publishStatus( } } - if (status != null) - { - new PublishPresenceStatusThread(protocolProvider, presence, status) - .start(); - - this.saveStatusInformation( protocolProvider, - status.getStatusName()); - } + return status; } /** @@ -380,7 +465,7 @@ private void saveStatusInformation( String statusName) { ConfigurationService configService - = GuiActivator.getConfigurationService(); + = GlobalDisplayDetailsActivator.getConfigurationService(); String prefix = "net.java.sip.communicator.impl.gui.accounts"; @@ -473,46 +558,55 @@ public void run() == OperationFailedException.GENERAL_ERROR) { String msgText = - GuiActivator.getResources().getI18NString( + GlobalDisplayDetailsActivator.getResources() + .getI18NString( "service.gui.STATUS_CHANGE_GENERAL_ERROR", new String[]{ protocolProvider.getAccountID().getUserID(), protocolProvider.getAccountID().getService()}); - new ErrorDialog(null, - GuiActivator.getResources().getI18NString( - "service.gui.GENERAL_ERROR"), msgText, e1) - .showDialog(); + GlobalDisplayDetailsActivator.getAlertUIService() + .showAlertDialog( + GlobalDisplayDetailsActivator.getResources() + .getI18NString("service.gui.GENERAL_ERROR"), + msgText, + e1); } else if (e1.getErrorCode() == OperationFailedException.NETWORK_FAILURE) { String msgText = - GuiActivator.getResources().getI18NString( + GlobalDisplayDetailsActivator.getResources() + .getI18NString( "service.gui.STATUS_CHANGE_NETWORK_FAILURE", new String[]{ protocolProvider.getAccountID().getUserID(), protocolProvider.getAccountID().getService()}); - new ErrorDialog(null, msgText, - GuiActivator.getResources().getI18NString( - "service.gui.NETWORK_FAILURE"), e1) - .showDialog(); + GlobalDisplayDetailsActivator.getAlertUIService() + .showAlertDialog( + msgText, + GlobalDisplayDetailsActivator.getResources() + .getI18NString("service.gui.NETWORK_FAILURE"), + e1); } else if (e1.getErrorCode() == OperationFailedException.PROVIDER_NOT_REGISTERED) { String msgText = - GuiActivator.getResources().getI18NString( + GlobalDisplayDetailsActivator.getResources() + .getI18NString( "service.gui.STATUS_CHANGE_NETWORK_FAILURE", new String[]{ protocolProvider.getAccountID().getUserID(), protocolProvider.getAccountID().getService()}); - new ErrorDialog(null, - GuiActivator.getResources().getI18NString( - "service.gui.NETWORK_FAILURE"), msgText, e1) - .showDialog(); + GlobalDisplayDetailsActivator.getAlertUIService() + .showAlertDialog( + GlobalDisplayDetailsActivator.getResources() + .getI18NString("service.gui.NETWORK_FAILURE"), + msgText, + e1); } logger.error("Error - changing status", e1); } diff --git a/src/net/java/sip/communicator/impl/globaldisplaydetails/globaldisplaydetails.manifest.mf b/src/net/java/sip/communicator/impl/globaldisplaydetails/globaldisplaydetails.manifest.mf index 102ea9d26..91c101ec1 100644 --- a/src/net/java/sip/communicator/impl/globaldisplaydetails/globaldisplaydetails.manifest.mf +++ b/src/net/java/sip/communicator/impl/globaldisplaydetails/globaldisplaydetails.manifest.mf @@ -10,7 +10,9 @@ Import-Package: org.jitsi.service.resources, org.osgi.framework, org.jitsi.util, net.java.sip.communicator.service.protocol, + net.java.sip.communicator.service.protocol.globalstatus, net.java.sip.communicator.service.protocol.event, + net.java.sip.communicator.service.gui, net.java.sip.communicator.util.account Export-Package: net.java.sip.communicator.service.globaldisplaydetails, net.java.sip.communicator.service.globaldisplaydetails.event diff --git a/src/net/java/sip/communicator/impl/gui/GuiActivator.java b/src/net/java/sip/communicator/impl/gui/GuiActivator.java index 446d65a78..c8b7fb41d 100644 --- a/src/net/java/sip/communicator/impl/gui/GuiActivator.java +++ b/src/net/java/sip/communicator/impl/gui/GuiActivator.java @@ -10,7 +10,6 @@ import net.java.sip.communicator.impl.gui.main.account.*; import net.java.sip.communicator.impl.gui.main.contactlist.*; -import net.java.sip.communicator.impl.gui.main.presence.*; import net.java.sip.communicator.impl.gui.utils.*; import net.java.sip.communicator.service.browserlauncher.*; import net.java.sip.communicator.service.callhistory.*; @@ -136,13 +135,6 @@ public void start(BundleContext bContext) try { - if (logger.isInfoEnabled()) - logger.info("GlobalStatus Service ...[REGISTERED]"); - - bundleContext.registerService(GlobalStatusService.class.getName(), - new GlobalStatusServiceImpl(), - null); - alertUIService = new AlertUIServiceImpl(); // Registers an implementation of the AlertUIService. bundleContext.registerService( AlertUIService.class.getName(), diff --git a/src/net/java/sip/communicator/service/gui/UIService.java b/src/net/java/sip/communicator/service/gui/UIService.java index 9ad472c51..68ab90734 100644 --- a/src/net/java/sip/communicator/service/gui/UIService.java +++ b/src/net/java/sip/communicator/service/gui/UIService.java @@ -14,6 +14,7 @@ import net.java.sip.communicator.service.contactlist.*; import net.java.sip.communicator.service.gui.event.*; import net.java.sip.communicator.service.protocol.*; +import net.java.sip.communicator.util.account.*; /** * The UIService offers generic access to the graphical user interface @@ -465,4 +466,11 @@ public ContactList createContactListComponent( * @return a collection of all currently in progress calls. */ public Collection getInProgressCalls(); + + /** + * Returns the login manager used by the current UI implementation. + * + * @return the login manager used by the current UI implementation + */ + public LoginManager getLoginManager(); } diff --git a/src/net/java/sip/communicator/service/gui/gui.manifest.mf b/src/net/java/sip/communicator/service/gui/gui.manifest.mf index 7778af2a2..5bbfcbcce 100644 --- a/src/net/java/sip/communicator/service/gui/gui.manifest.mf +++ b/src/net/java/sip/communicator/service/gui/gui.manifest.mf @@ -8,6 +8,7 @@ Import-Package: org.osgi.framework, org.jitsi.service.resources, net.java.sip.communicator.service.resources, net.java.sip.communicator.util, + net.java.sip.communicator.util.account, net.java.sip.communicator.service.contactsource, net.java.sip.communicator.service.contactlist, net.java.sip.communicator.service.protocol diff --git a/src/net/java/sip/communicator/service/protocol/globalstatus/GlobalStatusEnum.java b/src/net/java/sip/communicator/service/protocol/globalstatus/GlobalStatusEnum.java index 95650df10..ac039aeab 100644 --- a/src/net/java/sip/communicator/service/protocol/globalstatus/GlobalStatusEnum.java +++ b/src/net/java/sip/communicator/service/protocol/globalstatus/GlobalStatusEnum.java @@ -34,12 +34,12 @@ public class GlobalStatusEnum /** * Indicates that the user is connected and eager to communicate. */ - public static final String FREE_FOR_CHAT_STATUS = "FreeForChat"; + public static final String FREE_FOR_CHAT_STATUS = "Free For Chat"; /** * Indicates that the user is connected and eager to communicate. */ - public static final String DO_NOT_DISTURB_STATUS = "DoNotDisturb"; + public static final String DO_NOT_DISTURB_STATUS = "Do Not Disturb"; /** * The Online status. Indicate that the user is able and willing to From b4882786601de977f8cee831b7e7505858b751e9 Mon Sep 17 00:00:00 2001 From: Boris Grozev Date: Sun, 9 Jun 2013 17:05:02 +0300 Subject: [PATCH 12/14] Fix setting of media direction in conference-information. --- .../media/AbstractOperationSetTelephonyConferencing.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/net/java/sip/communicator/service/protocol/media/AbstractOperationSetTelephonyConferencing.java b/src/net/java/sip/communicator/service/protocol/media/AbstractOperationSetTelephonyConferencing.java index 948afc021..37be06b43 100644 --- a/src/net/java/sip/communicator/service/protocol/media/AbstractOperationSetTelephonyConferencing.java +++ b/src/net/java/sip/communicator/service/protocol/media/AbstractOperationSetTelephonyConferencing.java @@ -506,7 +506,7 @@ protected MediaDirection getRemoteDirection( } else remoteDirection = null; - return null; + return remoteDirection; } /** From c4a62a0f1840f279f533522152fe32691bee318d Mon Sep 17 00:00:00 2001 From: Emil Ivov Date: Mon, 10 Jun 2013 13:32:28 +0200 Subject: [PATCH 13/14] Replaces "!" with "*" as immutable property prefix. --- lib/installer-exclude/libjitsi.jar | Bin 1423747 -> 1423750 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/installer-exclude/libjitsi.jar b/lib/installer-exclude/libjitsi.jar index 646b496b4b5f51b9b6ec6df1b77d85cd561bd887..78935199c2c1998b7267b8e7329328483f0d337e 100644 GIT binary patch delta 48475 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 From 03af0f5b4ecdd8817908e9bee88df686596f8706 Mon Sep 17 00:00:00 2001 From: paweldomas Date: Mon, 10 Jun 2013 18:16:48 +0200 Subject: [PATCH 14/14] Fixes bug with additional STUN servers and Jingle Nodes not being removed after Jabber account is edited --- .../ProtocolProviderFactoryJabberImpl.java | 27 +++++++ .../service/protocol/AccountManager.java | 70 ++++++++++++------- .../protocol/ProtocolProviderFactory.java | 2 +- 3 files changed, 73 insertions(+), 26 deletions(-) diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderFactoryJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderFactoryJabberImpl.java index 1b67ac4ab..a9c86044d 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderFactoryJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderFactoryJabberImpl.java @@ -10,6 +10,7 @@ import net.java.sip.communicator.service.protocol.*; +import org.jitsi.service.configuration.*; import org.jivesoftware.smack.util.*; import org.osgi.framework.*; @@ -213,6 +214,32 @@ public void modifyAccount( ProtocolProviderService protocolProvider, accountID.setAccountProperties(accountProperties); + // Remove additional STUN servers and Jingle Nodes properties. + // This is required because there is no check if some of them were + // removed during account edit process. Those that are valid will be + // restored during account storage process. + AccountManager accManager = getAccountManager(); + ConfigurationService configSrvc + = JabberActivator.getConfigurationService(); + String accountNodeName + = getAccountManager().getAccountNodeName(this, accountID); + String factoryPackage = accManager.getFactoryImplPackageName(this); + String accountPrefix = factoryPackage + "." + accountNodeName; + + List allProperties = configSrvc.getAllPropertyNames(); + String stunPrefix + = accountPrefix+"."+ProtocolProviderFactory.STUN_PREFIX; + String jinglePrefix + = accountPrefix+"."+JingleNodeDescriptor.JN_PREFIX; + for(String property : allProperties) + { + if( property.startsWith(stunPrefix) + || property.startsWith(jinglePrefix) ) + { + configSrvc.removeProperty(property); + } + } + // First store the account and only then load it as the load generates // an osgi event, the osgi event triggers (trhgough the UI) a call to // the register() method and it needs to acces the configuration service diff --git a/src/net/java/sip/communicator/service/protocol/AccountManager.java b/src/net/java/sip/communicator/service/protocol/AccountManager.java index e6e76ee4b..02c044ac5 100644 --- a/src/net/java/sip/communicator/service/protocol/AccountManager.java +++ b/src/net/java/sip/communicator/service/protocol/AccountManager.java @@ -247,7 +247,7 @@ private void fireStoredAccountsLoaded(ProtocolProviderFactory factory) * @param factory the factory which package will be returned. * @return the package name of the factory. */ - private String getFactoryImplPackageName(ProtocolProviderFactory factory) + public String getFactoryImplPackageName(ProtocolProviderFactory factory) { String className = factory.getClass().getName(); @@ -660,30 +660,7 @@ public void storeAccount( = ProtocolProviderActivator.getConfigurationService(); String factoryPackage = getFactoryImplPackageName(factory); - // First check if such accountID already exists in the configuration. - List storedAccounts = - configurationService.getPropertyNamesByPrefix(factoryPackage, true); - String accountUID = accountID.getAccountUniqueID(); - String accountNodeName = null; - - for (Iterator storedAccountIter = storedAccounts.iterator(); - storedAccountIter.hasNext();) - { - String storedAccount = storedAccountIter.next(); - - // If the property is not related to an account we skip it. - int dotIndex = storedAccount.lastIndexOf("."); - if (!storedAccount.substring(dotIndex + 1) - .startsWith(ACCOUNT_UID_PREFIX)) - continue; - - String storedAccountUID = - configurationService.getString(storedAccount + "." - + ProtocolProviderFactory.ACCOUNT_UID); - - if (storedAccountUID.equals(accountUID)) - accountNodeName = configurationService.getString(storedAccount); - } + String accountNodeName = getAccountNodeName(factory, accountID); Map configurationProperties = new HashMap(); @@ -782,6 +759,49 @@ else if(property.endsWith("." + ProtocolProviderFactory.PASSWORD)) + " for package " + factoryPackage); } + /** + * Gets account node name under which account configuration properties are + * stored. + * + * @param factory account's protocol provider factory + * @param accountID account for which the prefix will be returned + * @return configuration prefix for given accountID if exists or + * null otherwise + */ + public String getAccountNodeName( ProtocolProviderFactory factory, + AccountID accountID ) + { + ConfigurationService configurationService + = ProtocolProviderActivator.getConfigurationService(); + String factoryPackage = getFactoryImplPackageName(factory); + + // First check if such accountID already exists in the configuration. + List storedAccounts = + configurationService.getPropertyNamesByPrefix(factoryPackage, true); + String accountUID = accountID.getAccountUniqueID(); + String accountNodeName = null; + + for (Iterator storedAccountIter = storedAccounts.iterator(); + storedAccountIter.hasNext();) + { + String storedAccount = storedAccountIter.next(); + + // If the property is not related to an account we skip it. + int dotIndex = storedAccount.lastIndexOf("."); + if (!storedAccount.substring(dotIndex + 1) + .startsWith(ACCOUNT_UID_PREFIX)) + continue; + + String storedAccountUID + = configurationService.getString( + storedAccount + "." + ProtocolProviderFactory.ACCOUNT_UID); + + if (storedAccountUID.equals(accountUID)) + accountNodeName = configurationService.getString(storedAccount); + } + return accountNodeName; + } + /** * Removes the account with accountID from the set of accounts * that are persistently stored inside the configuration service. diff --git a/src/net/java/sip/communicator/service/protocol/ProtocolProviderFactory.java b/src/net/java/sip/communicator/service/protocol/ProtocolProviderFactory.java index 20ab49487..38d0b9ce0 100644 --- a/src/net/java/sip/communicator/service/protocol/ProtocolProviderFactory.java +++ b/src/net/java/sip/communicator/service/protocol/ProtocolProviderFactory.java @@ -1191,7 +1191,7 @@ protected void stop(ServiceRegistration registeredAccount) * * @return AccountManager of the protocol */ - private AccountManager getAccountManager() + protected AccountManager getAccountManager() { BundleContext bundleContext = getBundleContext(); ServiceReference serviceReference =

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