|
|
|
|
@ -3,9 +3,11 @@
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
import net.java.sip.communicator.service.browserlauncher.*;
|
|
|
|
|
import net.java.sip.communicator.service.contactlist.*;
|
|
|
|
|
import net.java.sip.communicator.service.gui.*;
|
|
|
|
|
import net.java.sip.communicator.util.*;
|
|
|
|
|
|
|
|
|
|
import org.jitsi.service.configuration.*;
|
|
|
|
|
import org.osgi.framework.*;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@ -18,8 +20,32 @@ public class ContactInfoActivator implements BundleActivator
|
|
|
|
|
{
|
|
|
|
|
private Logger logger = Logger.getLogger(ContactInfoActivator.class);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Indicates if the contact info button is enabled in the chat window.
|
|
|
|
|
*/
|
|
|
|
|
private static final String ENABLED_IN_CHAT_WINDOW_PROP
|
|
|
|
|
= "net.java.sip.communicator.plugin.contactinfo." +
|
|
|
|
|
"ENABLED_IN_CHAT_WINDOW_PROP";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Indicates if the contact info button is enabled in the call window.
|
|
|
|
|
*/
|
|
|
|
|
private static final String ENABLED_IN_CALL_WINDOW_PROP
|
|
|
|
|
= "net.java.sip.communicator.plugin.contactinfo." +
|
|
|
|
|
"ENABLED_IN_CALL_WINDOW_PROP";
|
|
|
|
|
|
|
|
|
|
private static BrowserLauncherService browserLauncherService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* The image loader service implementation.
|
|
|
|
|
*/
|
|
|
|
|
private static ImageLoaderService imageLoaderService = null;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* The contact list service implementation.
|
|
|
|
|
*/
|
|
|
|
|
private static MetaContactListService metaCListService;
|
|
|
|
|
|
|
|
|
|
static BundleContext bundleContext;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@ -41,7 +67,33 @@ public void start(BundleContext bc) throws Exception
|
|
|
|
|
cinfoMenuItem,
|
|
|
|
|
containerFilter);
|
|
|
|
|
|
|
|
|
|
if (logger.isInfoEnabled())
|
|
|
|
|
if(getConfigService().getBoolean(ENABLED_IN_CHAT_WINDOW_PROP, false))
|
|
|
|
|
{
|
|
|
|
|
containerFilter = new Hashtable<String, String>();
|
|
|
|
|
containerFilter.put(
|
|
|
|
|
Container.CONTAINER_ID,
|
|
|
|
|
Container.CONTAINER_CHAT_TOOL_BAR.getID());
|
|
|
|
|
|
|
|
|
|
bundleContext.registerService(
|
|
|
|
|
PluginComponent.class.getName(),
|
|
|
|
|
new ContactInfoMenuItem(Container.CONTAINER_CHAT_TOOL_BAR),
|
|
|
|
|
containerFilter);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(getConfigService().getBoolean(ENABLED_IN_CALL_WINDOW_PROP, false))
|
|
|
|
|
{
|
|
|
|
|
containerFilter = new Hashtable<String, String>();
|
|
|
|
|
containerFilter.put(
|
|
|
|
|
Container.CONTAINER_ID,
|
|
|
|
|
Container.CONTAINER_CALL_DIALOG.getID());
|
|
|
|
|
|
|
|
|
|
bundleContext.registerService(
|
|
|
|
|
PluginComponent.class.getName(),
|
|
|
|
|
new ContactInfoMenuItem(Container.CONTAINER_CALL_DIALOG),
|
|
|
|
|
containerFilter);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (logger.isInfoEnabled())
|
|
|
|
|
logger.info("CONTACT INFO... [REGISTERED]");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -68,4 +120,53 @@ public static BrowserLauncherService getBrowserLauncher()
|
|
|
|
|
|
|
|
|
|
return browserLauncherService;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the imageLoaderService instance, if missing query osgi for it.
|
|
|
|
|
* @return the imageLoaderService.
|
|
|
|
|
*/
|
|
|
|
|
public static ImageLoaderService getImageLoaderService()
|
|
|
|
|
{
|
|
|
|
|
if(imageLoaderService == null)
|
|
|
|
|
{
|
|
|
|
|
imageLoaderService =
|
|
|
|
|
ServiceUtils.getService(
|
|
|
|
|
bundleContext,
|
|
|
|
|
ImageLoaderService.class);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return imageLoaderService;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns the <tt>MetaContactListService</tt> obtained from the bundle
|
|
|
|
|
* context.
|
|
|
|
|
* @return the <tt>MetaContactListService</tt> obtained from the bundle
|
|
|
|
|
* context
|
|
|
|
|
*/
|
|
|
|
|
public static MetaContactListService getContactListService()
|
|
|
|
|
{
|
|
|
|
|
if (metaCListService == null)
|
|
|
|
|
{
|
|
|
|
|
metaCListService
|
|
|
|
|
= ServiceUtils.getService(
|
|
|
|
|
bundleContext,
|
|
|
|
|
MetaContactListService.class);
|
|
|
|
|
}
|
|
|
|
|
return metaCListService;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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 getConfigService()
|
|
|
|
|
{
|
|
|
|
|
return ServiceUtils.getService(bundleContext,
|
|
|
|
|
ConfigurationService.class);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|