Loading java/src/com/android/inputmethod/keyboard/EmojiPalettesView.java +11 −9 Original line number Diff line number Diff line Loading @@ -459,6 +459,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange mEmojiPager.setAdapter(mEmojiPalettesAdapter); mEmojiPager.setOnPageChangeListener(this); mEmojiPager.setOffscreenPageLimit(0); mEmojiPager.setPersistentDrawingCache(ViewPager.PERSISTENT_NO_CACHE); final Resources res = getResources(); final EmojiLayoutParams emojiLp = new EmojiLayoutParams(res); emojiLp.setPagerProperties(mEmojiPager); Loading Loading @@ -607,7 +608,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange private static class EmojiPalettesAdapter extends PagerAdapter { private final ScrollKeyboardView.OnKeyClickListener mListener; private final DynamicGridKeyboard mRecentsKeyboard; private final SparseArray<ScrollKeyboardView> mActiveKeyboardView = private final SparseArray<ScrollKeyboardView> mActiveKeyboardViews = CollectionUtils.newSparseArray(); private final EmojiCategory mEmojiCategory; private int mActivePosition = 0; Loading @@ -623,7 +624,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange public void flushPendingRecentKeys() { mRecentsKeyboard.flushPendingRecentKeys(); final KeyboardView recentKeyboardView = mActiveKeyboardView.get(mEmojiCategory.getRecentTabId()); mActiveKeyboardViews.get(mEmojiCategory.getRecentTabId()); if (recentKeyboardView != null) { recentKeyboardView.invalidateAllKeys(); } Loading @@ -636,7 +637,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange } mRecentsKeyboard.addKeyFirst(key); final KeyboardView recentKeyboardView = mActiveKeyboardView.get(mEmojiCategory.getRecentTabId()); mActiveKeyboardViews.get(mEmojiCategory.getRecentTabId()); if (recentKeyboardView != null) { recentKeyboardView.invalidateAllKeys(); } Loading @@ -652,7 +653,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange if (mActivePosition == position) { return; } final ScrollKeyboardView oldKeyboardView = mActiveKeyboardView.get(mActivePosition); final ScrollKeyboardView oldKeyboardView = mActiveKeyboardViews.get(mActivePosition); if (oldKeyboardView != null) { oldKeyboardView.releaseCurrentKey(); oldKeyboardView.deallocateMemory(); Loading @@ -662,11 +663,11 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange @Override public Object instantiateItem(final ViewGroup container, final int position) { final ScrollKeyboardView oldKeyboardView = mActiveKeyboardView.get(position); final ScrollKeyboardView oldKeyboardView = mActiveKeyboardViews.get(position); if (oldKeyboardView != null) { oldKeyboardView.deallocateMemory(); // This may be redundant but wanted to be safer.. mActiveKeyboardView.remove(position); mActiveKeyboardViews.remove(position); } final Keyboard keyboard = mEmojiCategory.getKeyboardFromPagePosition(position); Loading @@ -681,7 +682,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange R.id.emoji_keyboard_scroller); keyboardView.setScrollView(scrollView); container.addView(view); mActiveKeyboardView.put(position, keyboardView); mActiveKeyboardViews.put(position, keyboardView); return view; } Loading @@ -693,12 +694,13 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange @Override public void destroyItem(final ViewGroup container, final int position, final Object object) { final ScrollKeyboardView keyboardView = mActiveKeyboardView.get(position); ScrollKeyboardView keyboardView = mActiveKeyboardViews.get(position); if (keyboardView != null) { keyboardView.deallocateMemory(); mActiveKeyboardView.remove(position); mActiveKeyboardViews.remove(position); } container.removeView(keyboardView); keyboardView = null; } } Loading java/src/com/android/inputmethod/keyboard/KeyboardView.java +2 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,8 @@ public class KeyboardView extends View { } private void freeOffscreenBuffer() { mOffscreenCanvas.setBitmap(null); mOffscreenCanvas.setMatrix(null); if (mOffscreenBuffer != null) { mOffscreenBuffer.recycle(); mOffscreenBuffer = null; Loading java/src/com/android/inputmethod/keyboard/internal/ScrollKeyboardView.java +2 −1 Original line number Diff line number Diff line Loading @@ -30,8 +30,9 @@ import com.android.inputmethod.keyboard.KeyboardView; import com.android.inputmethod.latin.R; /** * This is an extended {@link KeyboardView} class that hosts a scroll keyboard. * This is an extended {@link KeyboardView} class that hosts a vertical scroll keyboard. * Multi-touch unsupported. No {@link PointerTracker}s. No gesture support. * TODO: Vertical scroll capability should be removed from this class because it's no longer used. */ // TODO: Implement key popup preview. public final class ScrollKeyboardView extends KeyboardView implements Loading Loading
java/src/com/android/inputmethod/keyboard/EmojiPalettesView.java +11 −9 Original line number Diff line number Diff line Loading @@ -459,6 +459,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange mEmojiPager.setAdapter(mEmojiPalettesAdapter); mEmojiPager.setOnPageChangeListener(this); mEmojiPager.setOffscreenPageLimit(0); mEmojiPager.setPersistentDrawingCache(ViewPager.PERSISTENT_NO_CACHE); final Resources res = getResources(); final EmojiLayoutParams emojiLp = new EmojiLayoutParams(res); emojiLp.setPagerProperties(mEmojiPager); Loading Loading @@ -607,7 +608,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange private static class EmojiPalettesAdapter extends PagerAdapter { private final ScrollKeyboardView.OnKeyClickListener mListener; private final DynamicGridKeyboard mRecentsKeyboard; private final SparseArray<ScrollKeyboardView> mActiveKeyboardView = private final SparseArray<ScrollKeyboardView> mActiveKeyboardViews = CollectionUtils.newSparseArray(); private final EmojiCategory mEmojiCategory; private int mActivePosition = 0; Loading @@ -623,7 +624,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange public void flushPendingRecentKeys() { mRecentsKeyboard.flushPendingRecentKeys(); final KeyboardView recentKeyboardView = mActiveKeyboardView.get(mEmojiCategory.getRecentTabId()); mActiveKeyboardViews.get(mEmojiCategory.getRecentTabId()); if (recentKeyboardView != null) { recentKeyboardView.invalidateAllKeys(); } Loading @@ -636,7 +637,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange } mRecentsKeyboard.addKeyFirst(key); final KeyboardView recentKeyboardView = mActiveKeyboardView.get(mEmojiCategory.getRecentTabId()); mActiveKeyboardViews.get(mEmojiCategory.getRecentTabId()); if (recentKeyboardView != null) { recentKeyboardView.invalidateAllKeys(); } Loading @@ -652,7 +653,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange if (mActivePosition == position) { return; } final ScrollKeyboardView oldKeyboardView = mActiveKeyboardView.get(mActivePosition); final ScrollKeyboardView oldKeyboardView = mActiveKeyboardViews.get(mActivePosition); if (oldKeyboardView != null) { oldKeyboardView.releaseCurrentKey(); oldKeyboardView.deallocateMemory(); Loading @@ -662,11 +663,11 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange @Override public Object instantiateItem(final ViewGroup container, final int position) { final ScrollKeyboardView oldKeyboardView = mActiveKeyboardView.get(position); final ScrollKeyboardView oldKeyboardView = mActiveKeyboardViews.get(position); if (oldKeyboardView != null) { oldKeyboardView.deallocateMemory(); // This may be redundant but wanted to be safer.. mActiveKeyboardView.remove(position); mActiveKeyboardViews.remove(position); } final Keyboard keyboard = mEmojiCategory.getKeyboardFromPagePosition(position); Loading @@ -681,7 +682,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange R.id.emoji_keyboard_scroller); keyboardView.setScrollView(scrollView); container.addView(view); mActiveKeyboardView.put(position, keyboardView); mActiveKeyboardViews.put(position, keyboardView); return view; } Loading @@ -693,12 +694,13 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange @Override public void destroyItem(final ViewGroup container, final int position, final Object object) { final ScrollKeyboardView keyboardView = mActiveKeyboardView.get(position); ScrollKeyboardView keyboardView = mActiveKeyboardViews.get(position); if (keyboardView != null) { keyboardView.deallocateMemory(); mActiveKeyboardView.remove(position); mActiveKeyboardViews.remove(position); } container.removeView(keyboardView); keyboardView = null; } } Loading
java/src/com/android/inputmethod/keyboard/KeyboardView.java +2 −0 Original line number Diff line number Diff line Loading @@ -243,6 +243,8 @@ public class KeyboardView extends View { } private void freeOffscreenBuffer() { mOffscreenCanvas.setBitmap(null); mOffscreenCanvas.setMatrix(null); if (mOffscreenBuffer != null) { mOffscreenBuffer.recycle(); mOffscreenBuffer = null; Loading
java/src/com/android/inputmethod/keyboard/internal/ScrollKeyboardView.java +2 −1 Original line number Diff line number Diff line Loading @@ -30,8 +30,9 @@ import com.android.inputmethod.keyboard.KeyboardView; import com.android.inputmethod.latin.R; /** * This is an extended {@link KeyboardView} class that hosts a scroll keyboard. * This is an extended {@link KeyboardView} class that hosts a vertical scroll keyboard. * Multi-touch unsupported. No {@link PointerTracker}s. No gesture support. * TODO: Vertical scroll capability should be removed from this class because it's no longer used. */ // TODO: Implement key popup preview. public final class ScrollKeyboardView extends KeyboardView implements Loading