aboutsummaryrefslogtreecommitdiffstats
path: root/src/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java
diff options
context:
space:
mode:
authorAnkush Sachdeva <sankush@yahoo.co.in>2015-01-09 20:01:46 +0530
committerAnkush Sachdeva <sankush@yahoo.co.in>2015-01-09 20:01:46 +0530
commit58545344199e6b291595bbd8fc3ab9169b4fcd62 (patch)
tree48b2e1bda70f5d681ce69325ae7e3a3a8790bcec /src/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java
parent0f5fefe35b5b15338034a9f1928680b2d1ac3f66 (diff)
Added sample project
Diffstat (limited to 'src/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java')
-rw-r--r--src/github/ankushsachdeva/emojicon/EmojiconRecentsManager.java124
1 files changed, 0 insertions, 124 deletions
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<Emojicon> {
-
- 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();
- }
-
-}