/* * 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.replacement.smiley; import java.util.*; import net.java.sip.communicator.service.replacement.smilies.*; /** * The <tt>Resources</tt> is used to access smiley icons. * * @author Yana Stamcheva * @author Adam Netocny */ public class Resources { /** * The default pack of <tt>Smiley</tt>s. */ private static Collection<Smiley> defaultSmileyPack; /** * Load default smileys pack. * * @return the ArrayList of all smileys. */ public static Collection<Smiley> getDefaultSmileyPack() { if (defaultSmileyPack != null) return defaultSmileyPack; List<Smiley> defaultSmileyList = new ArrayList<Smiley>(); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY1", new String[] {":((", ":-((", ":((", ":(", ":-(", "(sad)"}, "Sad")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY2", new String[] {"(angry)"}, "Angry")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY3", new String[] {"(n)", "(N)" }, "No")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY4", new String[] {":-))", ":))", ";-))", ";))", "(lol)", ":-D", ":D", ";-D", ";D"}, "Laughing")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY5", new String[] { ";-((", ";((", ";-(", ";(", ":'(", ":'-(", ":~-(", ":~(", "(upset)" }, "Upset")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY6", new String[] {"<3", "(L)" , "(l)", "(H)", "(h)"}, "In love")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY7", new String[] {"(angel)" }, "Angel")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY8", new String[] {"(bomb)"}, "Exploding")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY9", new String[] {"(chuckle)" }, "Chuckle")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY10", new String[] {"(y)", "(Y)", "(ok)"}, "Ok")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY11", new String[] {":-)", ":)"}, "Smile")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY12", new String[] {"(blush)"}, "Blushing")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY13", new String[] {":-*", ":*", "(kiss)"}, "Kiss")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY14", new String[] {"(search)"}, "Searching")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY15", new String[] {"(wave)" }, "Waving")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY16", new String[] {"(clap)"}, "Clapping")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY17", new String[] {"(sick)"}, "Sick")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY18", new String[] {":-P", ":P", ":-p", ":p" }, "Tongue out")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY19", new String[] {":-0", "(shocked)"}, "Shocked")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY20", new String[] {"(oops)"}, "Oops")); defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY21", new String[] {";-)", ";)"}, "Wink")); defaultSmileyPack = Collections.unmodifiableCollection(defaultSmileyList); return defaultSmileyPack; } /** * Returns a Smiley object for a given smiley string. * @param smileyString One of :-), ;-), etc. * @return A Smiley object for a given smiley string. */ public static Smiley getSmiley(String smileyString) { for (Smiley smiley : getDefaultSmileyPack()) for (String srcString : smiley.getSmileyStrings()) if (srcString.equals(smileyString)) return smiley; return null; } /** * Reloads smilies. */ public static void reloadResources() { defaultSmileyPack = null; } }