Save / restore the last used emoji category
Bug: 11029983 Change-Id: I1bec2c3c6b547de68562a818a8d6c9fef83787b7
This commit is contained in:
parent
9257c04967
commit
6dc99dc200
2 changed files with 25 additions and 11 deletions
|
@ -162,9 +162,11 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
|
|||
addShownCategoryId(CATEGORY_ID_OBJECTS);
|
||||
addShownCategoryId(CATEGORY_ID_NATURE);
|
||||
addShownCategoryId(CATEGORY_ID_PLACES);
|
||||
mCurrentCategoryId = CATEGORY_ID_PEOPLE;
|
||||
mCurrentCategoryId =
|
||||
Settings.readLastShownEmojiCategoryId(mPrefs, CATEGORY_ID_PEOPLE);
|
||||
} else {
|
||||
mCurrentCategoryId = CATEGORY_ID_SYMBOLS;
|
||||
mCurrentCategoryId =
|
||||
Settings.readLastShownEmojiCategoryId(mPrefs, CATEGORY_ID_SYMBOLS);
|
||||
}
|
||||
addShownCategoryId(CATEGORY_ID_SYMBOLS);
|
||||
addShownCategoryId(CATEGORY_ID_EMOTICONS);
|
||||
|
@ -222,6 +224,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
|
|||
|
||||
public void setCurrentCategoryId(int categoryId) {
|
||||
mCurrentCategoryId = categoryId;
|
||||
Settings.writeLastShownEmojiCategoryId(mPrefs, categoryId);
|
||||
}
|
||||
|
||||
public void setCurrentCategoryPageId(int id) {
|
||||
|
@ -233,7 +236,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
|
|||
}
|
||||
|
||||
public void saveLastTypedCategoryPage() {
|
||||
Settings.writeEmojiCategoryLastTypedId(
|
||||
Settings.writeLastTypedEmojiCategoryPageId(
|
||||
mPrefs, mCurrentCategoryId, mCurrentCategoryPageId);
|
||||
}
|
||||
|
||||
|
@ -254,7 +257,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
|
|||
// Returns the view pager's page position for the categoryId
|
||||
public int getPageIdFromCategoryId(int categoryId) {
|
||||
final int lastSavedCategoryPageId =
|
||||
Settings.readEmojiCategoryLastTypedId(mPrefs, categoryId);
|
||||
Settings.readLastTypedEmojiCategoryPageId(mPrefs, categoryId);
|
||||
int sum = 0;
|
||||
for (int i = 0; i < mShownCategories.size(); ++i) {
|
||||
final CategoryProperties props = mShownCategories.get(i);
|
||||
|
|
|
@ -101,6 +101,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
// Emoji
|
||||
public static final String PREF_EMOJI_RECENT_KEYS = "emoji_recent_keys";
|
||||
public static final String PREF_EMOJI_CATEGORY_LAST_TYPED_ID = "emoji_category_last_typed_id";
|
||||
public static final String PREF_LAST_SHOWN_EMOJI_CATEGORY_ID = "last_shown_emoji_category_id";
|
||||
|
||||
private Resources mRes;
|
||||
private SharedPreferences mPrefs;
|
||||
|
@ -383,15 +384,25 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
return prefs.getString(PREF_EMOJI_RECENT_KEYS, "");
|
||||
}
|
||||
|
||||
public static void writeEmojiCategoryLastTypedId(
|
||||
final SharedPreferences prefs, final int category, final int id) {
|
||||
final String key = PREF_EMOJI_CATEGORY_LAST_TYPED_ID + category;
|
||||
prefs.edit().putInt(key, id).apply();
|
||||
public static void writeLastTypedEmojiCategoryPageId(
|
||||
final SharedPreferences prefs, final int categoryId, final int categoryPageId) {
|
||||
final String key = PREF_EMOJI_CATEGORY_LAST_TYPED_ID + categoryId;
|
||||
prefs.edit().putInt(key, categoryPageId).apply();
|
||||
}
|
||||
|
||||
public static int readEmojiCategoryLastTypedId(
|
||||
final SharedPreferences prefs, final int category) {
|
||||
final String key = PREF_EMOJI_CATEGORY_LAST_TYPED_ID + category;
|
||||
public static int readLastTypedEmojiCategoryPageId(
|
||||
final SharedPreferences prefs, final int categoryId) {
|
||||
final String key = PREF_EMOJI_CATEGORY_LAST_TYPED_ID + categoryId;
|
||||
return prefs.getInt(key, 0);
|
||||
}
|
||||
|
||||
public static void writeLastShownEmojiCategoryId(
|
||||
final SharedPreferences prefs, final int categoryId) {
|
||||
prefs.edit().putInt(PREF_LAST_SHOWN_EMOJI_CATEGORY_ID, categoryId).apply();
|
||||
}
|
||||
|
||||
public static int readLastShownEmojiCategoryId(
|
||||
final SharedPreferences prefs, final int defValue) {
|
||||
return prefs.getInt(PREF_LAST_SHOWN_EMOJI_CATEGORY_ID, defValue);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue