From 58545344199e6b291595bbd8fc3ab9169b4fcd62 Mon Sep 17 00:00:00 2001 From: Ankush Sachdeva Date: Fri, 9 Jan 2015 20:01:46 +0530 Subject: Added sample project --- .../emojicon/EmojiconRecentsManager.java | 124 --------------------- 1 file changed, 124 deletions(-) delete mode 100644 src/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java (limited to 'src/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java') diff --git a/src/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java b/src/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java deleted file mode 100644 index 9fbb987..0000000 --- a/src/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2014 Ankush Sachdeva - * - * 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 github.ankushsachdeva.emojicon; - -import github.ankushsachdeva.emojicon.emoji.Emojicon; - -import java.util.ArrayList; -import java.util.StringTokenizer; - -import android.content.Context; -import android.content.SharedPreferences; - - -/** -* @author Daniele Ricci -*/ -public class EmojiconRecentsManager extends ArrayList { - - private static final String PREFERENCE_NAME = "emojicon"; - private static final String PREF_RECENTS = "recent_emojis"; - private static final String PREF_PAGE = "recent_page"; - - private static final Object LOCK = new Object(); - private static EmojiconRecentsManager sInstance; - - private Context mContext; - - private EmojiconRecentsManager(Context context) { - mContext = context.getApplicationContext(); - loadRecents(); - } - - public static EmojiconRecentsManager getInstance(Context context) { - if (sInstance == null) { - synchronized (LOCK) { - if (sInstance == null) { - sInstance = new EmojiconRecentsManager(context); - } - } - } - return sInstance; - } - - public int getRecentPage() { - return getPreferences().getInt(PREF_PAGE, 0); - } - - public void setRecentPage(int page) { - getPreferences().edit().putInt(PREF_PAGE, page).commit(); - } - - public void push(Emojicon object) { - // FIXME totally inefficient way of adding the emoji to the adapter - // TODO this should be probably replaced by a deque - if (contains(object)) { - super.remove(object); - } - add(0, object); - } - - @Override - public boolean add(Emojicon object) { - boolean ret = super.add(object); - return ret; - } - - @Override - public void add(int index, Emojicon object) { - super.add(index, object); - } - - @Override - public boolean remove(Object object) { - boolean ret = super.remove(object); - return ret; - } - - private SharedPreferences getPreferences() { - return mContext.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); - } - - private void loadRecents() { - SharedPreferences prefs = getPreferences(); - String str = prefs.getString(PREF_RECENTS, ""); - StringTokenizer tokenizer = new StringTokenizer(str, "~"); - while (tokenizer.hasMoreTokens()) { - try { - add(new Emojicon(tokenizer.nextToken())); - } - catch (NumberFormatException e) { - // ignored - } - } - } - - public void saveRecents() { - StringBuilder str = new StringBuilder(); - int c = size(); - for (int i = 0; i < c; i++) { - Emojicon e = get(i); - str.append(e.getEmoji()); - if (i < (c - 1)) { - str.append('~'); - } - } - SharedPreferences prefs = getPreferences(); - prefs.edit().putString(PREF_RECENTS, str.toString()).commit(); - } - -} -- cgit v1.2.3