Remove the Facebook protocol wizard

Facebook disabled their XMPP API.
See also: https://developers.facebook.com/docs/chat
sip-call-params 5496
Ingo Bauersachs 10 years ago
parent be0540e2b7
commit 6f50b84df3

@ -1078,7 +1078,7 @@
bundle-plugin-googletalkaccregwizz,bundle-argdelegation-service,
bundle-argdelegation,bundle-zrtp4j,bundle-sdes4j,bundle-json,
bundle-filehistory,bundle-metahistory,bundle-metahistory-slick,
bundle-plugin-facebookaccregwizz,bundle-plugin-ippiaccregwizz,
bundle-plugin-ippiaccregwizz,
bundle-bouncycastle,bundle-plugin-otr,bundle-plugin-iptelaccregwizz,
bundle-contactsource,bundle-plugin-reconnect,bundle-plugin-securityconfig,
bundle-plugin-advancedconfig,
@ -1549,7 +1549,6 @@ javax.swing.event, javax.swing.border"/>
prefix="resources/images">
<include name="protocol/icq/**/*"/>
<include name="protocol/googletalk/**/*"/>
<include name="protocol/facebook/**/*"/>
<include name="protocol/jabber/**/*"/>
<include name="protocol/yahoo/**/*"/>
<!-- the media package lives in the protocol-media bundle -->
@ -1896,17 +1895,6 @@ javax.swing.event, javax.swing.border"/>
</jar>
</target>
<!-- BUNDLE-PLUGIN-FACEBOOKACCREGWIZZ -->
<target name="bundle-plugin-facebookaccregwizz">
<!-- Creates a bundle for the plugin Facebook Account Registration
Wizard.-->
<jar compress="false" destfile="${bundles.dest}/facebookaccregwizz.jar"
manifest="${src}/net/java/sip/communicator/plugin/facebookaccregwizz/facebookaccregwizz.manifest.mf">
<zipfileset dir="${dest}/net/java/sip/communicator/plugin/facebookaccregwizz"
prefix="net/java/sip/communicator/plugin/facebookaccregwizz" />
</jar>
</target>
<!-- BUNDLE-SERVICEIMPL-VERSION -->
<target name="bundle-version-impl">
<!-- Creates a bundle for the version service impl.-->

@ -189,7 +189,6 @@ felix.auto.start.67= \
reference:file:sc-bundles/keybindingChooser.jar \
reference:file:sc-bundles/generalconfig.jar \
reference:file:sc-bundles/otr.jar \
reference:file:sc-bundles/facebookaccregwizz.jar \
reference:file:sc-bundles/spellChecker.jar \
reference:file:sc-bundles/advancedconfig.jar \
reference:file:sc-bundles/plugin-loggingutils.jar \

@ -37,7 +37,7 @@ net.java.sip.communicator.service.protocol.jabber.GOOGLE_CONTACTS_ENABLED=true
net.java.sip.communicator.plugin.spellcheck.SYSTEM_HUNSPELL_DIR=/usr/share/hunspell
# protocol order for the simple initial account registration wizard
plugin.simpleaccreg.PROTOCOL_ORDER=SIP|Jabber|Facebook|Google Talk
plugin.simpleaccreg.PROTOCOL_ORDER=SIP|Jabber|Google Talk
#provisioning defaults
net.java.sip.communicator.plugin.provisioning.MANDATORY=false
@ -75,7 +75,6 @@ net.java.sip.communicator.plugin.pluginmanager.SYSTEM_BUNDLES=\
net.java.sip.communicator.plugin.defaultresourcepack,\
net.java.sip.communicator.plugin.demuxcontactsource,\
net.java.sip.communicator.replacement.directimage,\
net.java.sip.communicator.plugin.facebookaccregwizz,\
net.java.sip.communicator.fileaccess,\
net.java.sip.communicator.filehistory,\
net.java.sip.communicator.replacement.flickr,\

@ -61,7 +61,6 @@
</excludes>
<includes>
<include>net/java/sip/communicator/service/protocol/**</include>
<include>resources/images/protocol/facebook/**</include>
<include>resources/images/protocol/googletalk/**</include>
<include>resources/images/protocol/icq/**</include>
<include>resources/images/protocol/jabber/**</include>
@ -77,7 +76,6 @@
<exclude>resources/images/protocol/media/**</exclude>
</excludes>
<includes>
<include>resources/images/protocol/facebook/**</include>
<include>resources/images/protocol/googletalk/**</include>
<include>resources/images/protocol/icq/**</include>
<include>resources/images/protocol/jabber/**</include>

@ -511,10 +511,6 @@ service.protocol.sip2sip.SIP2SIP_64x64=resources/images/protocol/sip2sip/sip64x6
service.protocol.ippi.IPPI_16x16=resources/images/protocol/ippi/sip16x16.png
service.protocol.ippi.IPPI_64x64=resources/images/protocol/ippi/sip64x64.png
# facebook accregwizz
service.protocol.facebook.FACEBOOK_16x16=resources/images/protocol/facebook/facebook-online.png
service.protocol.facebook.FACEBOOK_48x48=resources/images/protocol/facebook/facebook48.png
# branding plugin images
plugin.branding.ABOUT_WINDOW_BACKGROUND=resources/images/plugin/branding/aboutWindowBackground.png
plugin.branding.SPLASH_SCREEN_BACKGROUND=resources/images/plugin/branding/splashScreenBackground.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 522 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 773 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 787 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 756 B

@ -1035,13 +1035,6 @@ plugin.dictaccregwizz.NO_STRATEGIES_FOUND=No strategy found on the server
plugin.dictaccregwizz.POPULATE_LIST=Populating list
plugin.dictaccregwizz.CLOSING_CONNECTION=Closing connection
# facebookaccregwizz
plugin.facebookaccregwizz.DESCRIPTION=<html><body><center><a href="https://register.facebook.com/editaccount.php">In order to use Facebook Chat you need to create a "Username" <br>from your "Account Settings" page on Facebook.</a><br><br>Note: When you create username you must logout from the webpage <br>and it can take a while before you are able to login with your new username!</center></body></html>
plugin.facebookaccregwizz.PROTOCOL_DESCRIPTION=The Facebook Chat protocol
plugin.facebookaccregwizz.PROTOCOL_NAME=Facebook
plugin.facebookaccregwizz.USERNAME=Username:
plugin.facebookaccregwizz.USERNAME_AND_PASSWORD=Username and Password
# generalconfig
plugin.generalconfig.AUTO_START=Auto-start {0} when computer restarts or reboots
plugin.generalconfig.CHATALERTS_ON_MESSAGE=Use task bar / dock alerts on incoming calls and chats

@ -1,213 +0,0 @@
/*
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
*
* Copyright @ 2015 Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.java.sip.communicator.plugin.facebookaccregwizz;
import java.util.*;
import net.java.sip.communicator.service.browserlauncher.*;
import net.java.sip.communicator.service.gui.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.resources.*;
import net.java.sip.communicator.util.*;
import org.jitsi.service.resources.*;
import org.osgi.framework.*;
/**
* Registers the <tt>FacebookAccountRegistrationWizard</tt> in the UI Service.
*
* @author Dai Zhiwei
*/
public class FacebookAccRegWizzActivator
extends AbstractServiceDependentActivator
{
/**
* The logger.
*/
private static Logger logger
= Logger.getLogger(FacebookAccRegWizzActivator.class.getName());
/**
* A currently valid bundle context.
*/
public static BundleContext bundleContext;
/**
* The container.
*/
private static WizardContainer wizardContainer;
/**
* Registration wizard.
*/
private static FacebookAccountRegistrationWizard facebookWizard;
/**
* The UI service.
*/
private static UIService uiService;
/**
* The browser launcher service.
*/
private static BrowserLauncherService browserLauncherService;
private static ResourceManagementService resourcesService;
/**
* Starts this bundle.
*/
@Override
public void start(Object dependentService)
{
if (logger.isInfoEnabled())
logger.info("Loading facebook account wizard.");
uiService = (UIService)dependentService;
wizardContainer = uiService.getAccountRegWizardContainer();
facebookWizard
= new FacebookAccountRegistrationWizard(wizardContainer);
Hashtable<String, String> containerFilter
= new Hashtable<String, String>();
containerFilter.put(
ProtocolProviderFactory.PROTOCOL,
ProtocolNames.FACEBOOK);
bundleContext.registerService(
AccountRegistrationWizard.class.getName(),
facebookWizard,
containerFilter);
if (logger.isInfoEnabled())
logger.info("Facebook account registration wizard [STARTED].");
}
/**
* The dependent class. We are waiting for the ui service.
* @return the ui service class.
*/
@Override
public Class<?> getDependentServiceClass()
{
return UIService.class;
}
/**
* The bundle context to use.
* @param context the context to set.
*/
@Override
public void setBundleContext(BundleContext context)
{
bundleContext = context;
}
/**
* Called when this bundle is stopped so the Framework can perform the
* bundle-specific activities necessary to stop the bundle.
*
* @param bundleContext The execution context of the bundle being stopped.
*/
public void stop(BundleContext bundleContext)
{
}
/**
* Returns the <tt>ProtocolProviderFactory</tt> for the Facebook protocol.
* @return the <tt>ProtocolProviderFactory</tt> for the Facebook protocol
*/
public static ProtocolProviderFactory getFacebookProtocolProviderFactory()
{
ServiceReference[] serRefs = null;
String osgiFilter = "("
+ ProtocolProviderFactory.PROTOCOL
+ "=" + ProtocolNames.JABBER + ")";
try
{
serRefs = bundleContext.getServiceReferences(
ProtocolProviderFactory.class.getName(), osgiFilter);
}
catch (InvalidSyntaxException ex)
{
logger.error("FacebookAccRegWizzActivator : " + ex);
}
return (ProtocolProviderFactory) bundleContext.getService(serRefs[0]);
}
/**
* Returns the bundleContext that we received when we were started.
*
* @return a currently valid instance of a bundleContext.
*/
public BundleContext getBundleContext()
{
return bundleContext;
}
/**
* Returns the <tt>UIService</tt>.
*
* @return the <tt>UIService</tt>
*/
public static UIService getUIService()
{
return uiService;
}
/**
* Gets the browser launcher service.
* @return the browser launcher service.
*/
public static BrowserLauncherService getBrowserLauncher()
{
if (browserLauncherService == null)
{
ServiceReference serviceReference =
bundleContext.getServiceReference(BrowserLauncherService.class
.getName());
browserLauncherService =
(BrowserLauncherService) bundleContext
.getService(serviceReference);
}
return browserLauncherService;
}
/**
* Returns the <tt>ResourceManagementService</tt>.
*
* @return the <tt>ResourceManagementService</tt>.
*/
public static ResourceManagementService getResources()
{
if (resourcesService == null)
resourcesService =
ResourceManagementServiceUtils
.getService(FacebookAccRegWizzActivator.bundleContext);
return resourcesService;
}
}

@ -1,300 +0,0 @@
/*
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
*
* Copyright @ 2015 Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.java.sip.communicator.plugin.facebookaccregwizz;
import java.util.*;
import net.java.sip.communicator.plugin.jabberaccregwizz.*;
import net.java.sip.communicator.service.gui.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.protocol.jabber.*;
/**
* The <tt>FacebookAccountRegistrationWizard</tt> is an implementation of the
* <tt>AccountRegistrationWizard</tt> for the Facebook Chat protocol. It allows
* the user to create and configure a new Facebook account.
*
* @author Dai Zhiwei
* @author Yana Stamcheva
*/
public class FacebookAccountRegistrationWizard
extends JabberAccountRegistrationWizard
{
/**
* The protocol name.
*/
private static final String PROTOCOL = "Facebook";
/**
* A constant pointing to the Facebook protocol logo icon.
*/
private static final String PROTOCOL_ICON
= "service.protocol.facebook.FACEBOOK_16x16";
/**
* A constant pointing to the Facebook protocol wizard page image.
*/
private static final String PAGE_IMAGE
= "service.protocol.facebook.FACEBOOK_48x48";
private static final String SERVER_ADDRESS = "chat.facebook.com";
/**
* Creates an instance of <tt>FacebookAccountRegistrationWizard</tt>.
* @param wizardContainer the wizard container, where this wizard
* is added
*/
public FacebookAccountRegistrationWizard(WizardContainer wizardContainer)
{
super(wizardContainer);
}
/**
* Returns the set of pages contained in this wizard.
* @return Iterator
*/
@Override
public Iterator<WizardPage> getPages()
{
JabberAccountRegistration reg = new JabberAccountRegistration();
setPredefinedProperties(reg);
return getPages(reg);
}
/**
* Returns a simple account registration form that would be the first form
* shown to the user. Only if the user needs more settings she'll choose
* to open the advanced wizard, consisted by all pages.
*
* @param isCreateAccount indicates if the simple form should be opened as
* a create account form or as a login form
* @return a simple account registration form
*/
@Override
public Object getSimpleForm(boolean isCreateAccount)
{
JabberAccountRegistration reg = new JabberAccountRegistration();
setPredefinedProperties(reg);
return getSimpleForm(reg, isCreateAccount);
}
/**
* Sets all facebook specific properties.
*
* @param reg the registration object
*/
private void setPredefinedProperties(JabberAccountRegistration reg)
{
reg.setServerAddress(SERVER_ADDRESS);
reg.setSendKeepAlive(true);
reg.setServerOverridden(true);
}
/**
* Implements the <code>AccountRegistrationWizard.getIcon</code> method.
* Returns the icon to be used for this wizard.
* @return byte[]
*/
@Override
public byte[] getIcon()
{
return FacebookAccRegWizzActivator.getResources()
.getImageInBytes(PROTOCOL_ICON);
}
/**
* Implements the <code>AccountRegistrationWizard.getPageImage</code> method.
* Returns the image used to decorate the wizard page
*
* @return byte[] the image used to decorate the wizard page
*/
@Override
public byte[] getPageImage()
{
return FacebookAccRegWizzActivator.getResources()
.getImageInBytes(PAGE_IMAGE);
}
/**
* Implements the <code>AccountRegistrationWizard.getProtocolName</code>
* method. Returns the protocol name for this wizard.
* @return String
*/
@Override
public String getProtocolName()
{
return FacebookAccRegWizzActivator.getResources()
.getI18NString("plugin.facebookaccregwizz.PROTOCOL_NAME");
}
/**
* Implements the <code>AccountRegistrationWizard.getProtocolDescription
* </code> method. Returns the description of the protocol for this wizard.
* @return String
*/
@Override
public String getProtocolDescription()
{
return FacebookAccRegWizzActivator.getResources()
.getI18NString("plugin.facebookaccregwizz.PROTOCOL_DESCRIPTION");
}
/**
* Returns an example string, which should indicate to the user how the
* user name should look like.
* @return an example string, which should indicate to the user how the
* user name should look like.
*/
@Override
public String getUserNameExample()
{
return "Ex: username";
}
/**
* Returns the display label used for the sip id field.
* @return the sip id display label string.
*/
@Override
protected String getUsernameLabel()
{
return FacebookAccRegWizzActivator.getResources()
.getI18NString("plugin.facebookaccregwizz.USERNAME");
}
/**
* Return the string for add existing account button.
* @return the string for add existing account button.
*/
@Override
protected String getCreateAccountButtonLabel()
{
return null;
}
/**
* Return the string for create new account button.
* @return the string for create new account button.
*/
@Override
protected String getCreateAccountLabel()
{
return FacebookAccRegWizzActivator.getResources().getI18NString(
"plugin.facebookaccregwizz.DESCRIPTION");
}
/**
* Returns the protocol name as listed in "ProtocolNames" or just the name
* of the service.
* @return the protocol name
*/
@Override
public String getProtocol()
{
return PROTOCOL;
}
/**
* Returns the protocol icon path.
* @return the protocol icon path
*/
@Override
public String getProtocolIconPath()
{
return "resources/images/protocol/facebook";
}
/**
* Returns the account icon path.
* @return the account icon path
*/
@Override
public String getAccountIconPath()
{
return "resources/images/protocol/facebook/logo32x32.png";
}
/**
* Opens a browser on the sign up page.
*/
@Override
public void webSignup() {}
/**
* Returns <code>true</code> if the web sign up is supported by the current
* implementation, <code>false</code> - otherwise.
* @return <code>true</code> if the web sign up is supported by the current
* implementation, <code>false</code> - otherwise
*/
@Override
public boolean isWebSignupSupported()
{
return false;
}
/**
* Creates an account for the given user and password.
*
* @param providerFactory the ProtocolProviderFactory which will create
* the account
* @param userName the user identifier
* @param passwd the password
* @return the <tt>ProtocolProviderService</tt> for the new account.
* @throws OperationFailedException if the operation didn't succeed
*/
@Override
protected ProtocolProviderService installAccount(
ProtocolProviderFactory providerFactory,
String userName,
String passwd)
throws OperationFailedException
{
// add server part to username
if(userName.indexOf("@") == -1)
userName += "@" + SERVER_ADDRESS;
return super.installAccount(providerFactory, userName, passwd);
}
/**
* Returns an instance of <tt>CreateAccountService</tt> through which the
* user could create an account. This method is meant to be implemented by
* specific protocol provider wizards.
* @return an instance of <tt>CreateAccountService</tt>
*/
@Override
protected JabberAccountCreationFormService getCreateAccountService()
{
return null;
}
/**
* Whether the advanced configuration is enabled. Gives an option
* to disable/hide advanced config button.
* @return whether the advanced configuration is enabled.
*/
public boolean isAdvancedConfigurationEnabled()
{
return false;
}
}

@ -1,34 +0,0 @@
Bundle-Activator: net.java.sip.communicator.plugin.facebookaccregwizz.FacebookAccRegWizzActivator
Bundle-Name: Facebook account registration wizard
Bundle-Description: Facebook account registration wizard.
Bundle-Vendor: jitsi.org
Bundle-Version: 0.0.1
Bundle-SymbolicName: net.java.sip.communicator.plugin.facebookaccregwizz
Import-Package: org.osgi.framework,
net.java.sip.communicator.service.browserlauncher,
org.jitsi.service.configuration,
net.java.sip.communicator.service.contactlist,
net.java.sip.communicator.service.contactlist.event,
net.java.sip.communicator.service.gui,
net.java.sip.communicator.service.gui.event,
net.java.sip.communicator.service.protocol,
net.java.sip.communicator.service.protocol.event,
net.java.sip.communicator.service.protocol.jabber,
org.jitsi.service.resources, net.java.sip.communicator.service.resources,
net.java.sip.communicator.util,
net.java.sip.communicator.plugin.desktoputil,
net.java.sip.communicator.plugin.jabberaccregwizz,
javax.accessibility,
javax.imageio,
javax.swing,
javax.swing.border,
javax.swing.filechooser,
javax.swing.plaf,
javax.swing.plaf.basic,
javax.swing.plaf.metal,
javax.swing.event,
javax.swing.table,
javax.swing.text,
javax.swing.text.html,
javax.swing.tree,
javax.swing.undo

@ -97,9 +97,4 @@ public interface ProtocolNames
* The Dict protocol.
*/
public static final String DICT = "Dict";
/**
* The Facebook protocol.
*/
public static final String FACEBOOK = "Facebook";
}

Loading…
Cancel
Save