Do not start in recents tab if we do not have recent emojis
If user has not used emojis we should not bring recents emoji tab on the first invocation of the on-screen keyboard as it is confusing to see an empty tab. We will still be showing recents tab even if it is empty if user actively switched to it when using on-screen keyboard. Bug: 24497650 Change-Id: I68b4bf64441590858d246168cc4733a2875a1357 (cherry picked from commit 24d67eba27cb23c0d3aca44236247ec12380daa5)
This commit is contained in:
parent
1fdb8f3156
commit
28e65858d9
1 changed files with 14 additions and 7 deletions
|
@ -120,22 +120,29 @@ final class EmojiCategory {
|
||||||
mCategoryTabIconId[i] = emojiPaletteViewAttr.getResourceId(
|
mCategoryTabIconId[i] = emojiPaletteViewAttr.getResourceId(
|
||||||
sCategoryTabIconAttr[i], 0);
|
sCategoryTabIconAttr[i], 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int defaultCategoryId = EmojiCategory.ID_SYMBOLS;
|
||||||
addShownCategoryId(EmojiCategory.ID_RECENTS);
|
addShownCategoryId(EmojiCategory.ID_RECENTS);
|
||||||
if (BuildCompatUtils.EFFECTIVE_SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
if (BuildCompatUtils.EFFECTIVE_SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||||
|
defaultCategoryId = EmojiCategory.ID_PEOPLE;
|
||||||
addShownCategoryId(EmojiCategory.ID_PEOPLE);
|
addShownCategoryId(EmojiCategory.ID_PEOPLE);
|
||||||
addShownCategoryId(EmojiCategory.ID_OBJECTS);
|
addShownCategoryId(EmojiCategory.ID_OBJECTS);
|
||||||
addShownCategoryId(EmojiCategory.ID_NATURE);
|
addShownCategoryId(EmojiCategory.ID_NATURE);
|
||||||
addShownCategoryId(EmojiCategory.ID_PLACES);
|
addShownCategoryId(EmojiCategory.ID_PLACES);
|
||||||
mCurrentCategoryId =
|
|
||||||
Settings.readLastShownEmojiCategoryId(mPrefs, EmojiCategory.ID_PEOPLE);
|
|
||||||
} else {
|
|
||||||
mCurrentCategoryId =
|
|
||||||
Settings.readLastShownEmojiCategoryId(mPrefs, EmojiCategory.ID_SYMBOLS);
|
|
||||||
}
|
}
|
||||||
addShownCategoryId(EmojiCategory.ID_SYMBOLS);
|
addShownCategoryId(EmojiCategory.ID_SYMBOLS);
|
||||||
addShownCategoryId(EmojiCategory.ID_EMOTICONS);
|
addShownCategoryId(EmojiCategory.ID_EMOTICONS);
|
||||||
getKeyboard(EmojiCategory.ID_RECENTS, 0 /* cagetoryPageId */)
|
|
||||||
.loadRecentKeys(mCategoryKeyboardMap.values());
|
DynamicGridKeyboard recentsKbd =
|
||||||
|
getKeyboard(EmojiCategory.ID_RECENTS, 0 /* cagetoryPageId */);
|
||||||
|
recentsKbd.loadRecentKeys(mCategoryKeyboardMap.values());
|
||||||
|
|
||||||
|
mCurrentCategoryId = Settings.readLastShownEmojiCategoryId(mPrefs, defaultCategoryId);
|
||||||
|
if (mCurrentCategoryId == EmojiCategory.ID_RECENTS &&
|
||||||
|
recentsKbd.getSortedKeys().isEmpty()) {
|
||||||
|
Log.i(TAG, "No recent emojis found, starting in category " + mCurrentCategoryId);
|
||||||
|
mCurrentCategoryId = defaultCategoryId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addShownCategoryId(final int categoryId) {
|
private void addShownCategoryId(final int categoryId) {
|
||||||
|
|
Loading…
Reference in a new issue