/* * 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.impl.protocol.jabber; import java.util.*; import net.java.sip.communicator.service.protocol.*; import net.java.sip.communicator.util.call.*; /** * The <tt>OperationSetCusaxUtilsJabberImpl</tt> provides utility methods * related to the Jabber CUSAX implementation. * * @author Yana Stamcheva */ public class OperationSetCusaxUtilsJabberImpl implements OperationSetCusaxUtils { /** * The parent jabber protocol provider. */ private final ProtocolProviderServiceJabberImpl jabberProvider; /** * Creates an instance of <tt>OperationSetCusaxUtilsJabberImpl</tt> by * specifying the parent jabber <tt>ProtocolProviderServiceJabberImpl</tt>. * * @param jabberProvider the parent * <tt>ProtocolProviderServiceJabberImpl</tt> */ public OperationSetCusaxUtilsJabberImpl( ProtocolProviderServiceJabberImpl jabberProvider) { this.jabberProvider = jabberProvider; } /** * Checks if the given <tt>detailAddress</tt> exists in the given * <tt>contact</tt> details. * * @param contact the <tt>Contact</tt>, which details to check * @param detailAddress the detail address we're looking for * @return <tt>true</tt> if the given <tt>detailAdress</tt> exists in the * details of the given <tt>contact</tt> */ public boolean doesDetailBelong(Contact contact, String detailAddress) { List<String> contactPhones = ContactPhoneUtil.getContactAdditionalPhones( contact, null, false, false); if (contactPhones == null || contactPhones.size() <= 0) return false; Iterator<String> phonesIter = contactPhones.iterator(); while (phonesIter.hasNext()) { String phone = phonesIter.next(); String normalizedPhone = JabberActivator.getPhoneNumberI18nService() .normalize(phone); if (phone.equals(detailAddress) || normalizedPhone.equals(detailAddress) || detailAddress.contains(phone) || detailAddress.contains(normalizedPhone)) return true; } return false; } /** * Returns the linked CUSAX provider for this protocol provider. * * @return the linked CUSAX provider for this protocol provider or null * if such isn't specified */ public ProtocolProviderService getLinkedCusaxProvider() { return null; } }