diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/Key.java | 10 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/Keyboard.java | 10 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/KeyboardView.java | 13 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java | 25 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/MiniKeyboard.java | 4 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/MiniKeyboardView.java (renamed from java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java) | 16 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java | 2 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java | 8 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java | 4 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java | 42 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/CandidateView.java | 28 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/Settings.java | 1 |
12 files changed, 89 insertions, 74 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index 9cf64e151..8baf3f7d1 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -93,7 +93,7 @@ public class Key { /** Popup characters */ public final CharSequence[] mPopupCharacters; /** Popup keyboard maximum column number */ - public final int mMaxPopupColumn; + public final int mMaxMiniKeyboardColumn; /** * Flags that specify the anchoring to edges of the keyboard for detecting touch events @@ -228,7 +228,7 @@ public class Key { mSticky = false; mRepeatable = false; mPopupCharacters = null; - mMaxPopupColumn = 0; + mMaxMiniKeyboardColumn = 0; mLabel = label; mOutputText = outputText; mCode = code; @@ -323,9 +323,9 @@ public class Key { } else { mPopupCharacters = popupCharacters; } - mMaxPopupColumn = style.getInt(keyboardAttr, - R.styleable.Keyboard_Key_maxPopupKeyboardColumn, - params.mMaxPopupColumn); + mMaxMiniKeyboardColumn = style.getInt(keyboardAttr, + R.styleable.Keyboard_Key_maxMiniKeyboardColumn, + params.mMaxMiniKeyboardColumn); mRepeatable = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable, false); mFunctional = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isFunctional, false); diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java index f8e08b06a..5dabb93ec 100644 --- a/java/src/com/android/inputmethod/keyboard/Keyboard.java +++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java @@ -102,10 +102,10 @@ public class Keyboard { public final int mMostCommonKeyWidth; /** Popup keyboard template */ - public final int mPopupKeyboardResId; + public final int mPopupTemplateId; - /** Maximum column for popup keyboard */ - public final int mMaxPopupColumn; + /** Maximum column for mini keyboard */ + public final int mMaxMiniKeyboardColumn; /** True if Right-To-Left keyboard */ public final boolean mIsRtlKeyboard; @@ -130,8 +130,8 @@ public class Keyboard { mWidth = params.mWidth; mMostCommonKeyWidth = params.mMostCommonKeyWidth; mIsRtlKeyboard = params.mIsRtlKeyboard; - mPopupKeyboardResId = params.mPopupKeyboardResId; - mMaxPopupColumn = params.mMaxPopupColumn; + mPopupTemplateId = params.mPopupTemplateId; + mMaxMiniKeyboardColumn = params.mMaxMiniKeyboardColumn; mDefaultRowHeight = params.mDefaultRowHeight; mVerticalGap = params.mVerticalGap; diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index 5f824537e..4c5c2bc10 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -77,7 +77,9 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { // Miscellaneous constants private static final int[] LONG_PRESSABLE_STATE_SET = { android.R.attr.state_long_pressable }; - // XML attribute + // XML attributes + protected final float mVerticalCorrection; + protected final int mPopupLayout; private final float mBackgroundDimAmount; // HORIZONTAL ELLIPSIS "...", character for popup hint. @@ -122,9 +124,6 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { new HashMap<Integer, Float>(); private static final String KEY_LABEL_REFERENCE_CHAR = "M"; - private static final int MEASURESPEC_UNSPECIFIED = MeasureSpec.makeMeasureSpec( - 0, MeasureSpec.UNSPECIFIED); - private final DrawingHandler mDrawingHandler = new DrawingHandler(this); public static class DrawingHandler extends StaticInnerHandlerWrapper<KeyboardView> { @@ -342,6 +341,9 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { if (mKeyPreviewLayoutId == 0) { mShowKeyPreviewPopup = false; } + mVerticalCorrection = a.getDimensionPixelOffset( + R.styleable.KeyboardView_verticalCorrection, 0); + mPopupLayout = a.getResourceId(R.styleable.KeyboardView_popupLayout, 0); mBackgroundDimAmount = a.getFloat(R.styleable.KeyboardView_backgroundDimAmount, 0.5f); a.recycle(); @@ -859,7 +861,8 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } previewText.setBackgroundDrawable(params.mPreviewBackground); - previewText.measure(MEASURESPEC_UNSPECIFIED, MEASURESPEC_UNSPECIFIED); + previewText.measure( + ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); final int previewWidth = Math.max(previewText.getMeasuredWidth(), keyDrawWidth + previewText.getPaddingLeft() + previewText.getPaddingRight()); final int previewHeight = params.mPreviewHeight; diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java index 69cbcb154..1e7ec9ead 100644 --- a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java @@ -19,7 +19,6 @@ package com.android.inputmethod.keyboard; import android.content.Context; import android.content.pm.PackageManager; import android.content.res.Resources; -import android.content.res.TypedArray; import android.graphics.Canvas; import android.os.Message; import android.os.SystemClock; @@ -30,6 +29,7 @@ import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewConfiguration; +import android.view.ViewGroup; import android.view.accessibility.AccessibilityEvent; import android.widget.PopupWindow; @@ -63,10 +63,6 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke // Timing constants private final int mKeyRepeatInterval; - // XML attribute - private final float mVerticalCorrection; - private final int mPopupLayout; - // Mini keyboard private PopupWindow mPopupWindow; private PopupPanel mPopupPanel; @@ -218,13 +214,6 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke mTouchScreenRegulator = new SuddenJumpingTouchEventHandler(getContext(), this); - final TypedArray a = context.obtainStyledAttributes( - attrs, R.styleable.KeyboardView, defStyle, R.style.KeyboardView); - mVerticalCorrection = a.getDimensionPixelOffset( - R.styleable.KeyboardView_verticalCorrection, 0); - mPopupLayout = a.getResourceId(R.styleable.KeyboardView_popupLayout, 0); - a.recycle(); - final Resources res = getResources(); mConfigShowMiniKeyboardAtTouchedPoint = res.getBoolean( R.bool.config_show_mini_keyboard_at_touched_point); @@ -373,15 +362,13 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke if (container == null) throw new NullPointerException(); - final PopupMiniKeyboardView miniKeyboardView = - (PopupMiniKeyboardView)container.findViewById(R.id.mini_keyboard_view); + final MiniKeyboardView miniKeyboardView = + (MiniKeyboardView)container.findViewById(R.id.mini_keyboard_view); final Keyboard parentKeyboard = getKeyboard(); final Keyboard miniKeyboard = new MiniKeyboard.Builder( - this, parentKeyboard.mPopupKeyboardResId, parentKey, parentKeyboard).build(); + this, parentKeyboard.mPopupTemplateId, parentKey, parentKeyboard).build(); miniKeyboardView.setKeyboard(miniKeyboard); - - container.measure(MeasureSpec.makeMeasureSpec(getWidth(), MeasureSpec.AT_MOST), - MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); + container.measure(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); return miniKeyboardView; } @@ -455,7 +442,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke if (mPopupWindow == null) { mPopupWindow = new PopupWindow(getContext()); mPopupWindow.setBackgroundDrawable(null); - mPopupWindow.setAnimationStyle(R.style.PopupMiniKeyboardAnimation); + mPopupWindow.setAnimationStyle(R.style.MiniKeyboardAnimation); // Allow popup window to be drawn off the screen. mPopupWindow.setClippingEnabled(false); } diff --git a/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java b/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java index e6045dc90..6119fa232 100644 --- a/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java +++ b/java/src/com/android/inputmethod/keyboard/MiniKeyboard.java @@ -227,8 +227,8 @@ public class MiniKeyboard extends Keyboard { mPopupCharacters = parentKey.mPopupCharacters; final int keyWidth = getMaxKeyWidth(view, mPopupCharacters, mParams.mDefaultKeyWidth); - mParams.setParameters(mPopupCharacters.length, parentKey.mMaxPopupColumn, keyWidth, - parentKeyboard.mDefaultRowHeight, parentKey.mX + mParams.setParameters(mPopupCharacters.length, parentKey.mMaxMiniKeyboardColumn, + keyWidth, parentKeyboard.mDefaultRowHeight, parentKey.mX + (mParams.mDefaultKeyWidth - keyWidth) / 2, view.getMeasuredWidth()); } diff --git a/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MiniKeyboardView.java index 7ace46cac..7a0f73fd1 100644 --- a/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/MiniKeyboardView.java @@ -18,7 +18,6 @@ package com.android.inputmethod.keyboard; import android.content.Context; import android.content.res.Resources; -import android.content.res.TypedArray; import android.util.AttributeSet; import android.view.Gravity; import android.view.View; @@ -34,11 +33,10 @@ import java.util.List; * A view that renders a virtual {@link MiniKeyboard}. It handles rendering of keys and detecting * key presses and touch movements. */ -public class PopupMiniKeyboardView extends KeyboardView implements PopupPanel { +public class MiniKeyboardView extends KeyboardView implements PopupPanel { private final int[] mCoordinates = new int[2]; private final KeyDetector mKeyDetector; - private final int mVerticalCorrection; private Controller mController; private KeyboardActionListener mListener; @@ -128,19 +126,13 @@ public class PopupMiniKeyboardView extends KeyboardView implements PopupPanel { } }; - public PopupMiniKeyboardView(Context context, AttributeSet attrs) { - this(context, attrs, R.attr.popupMiniKeyboardViewStyle); + public MiniKeyboardView(Context context, AttributeSet attrs) { + this(context, attrs, R.attr.miniKeyboardViewStyle); } - public PopupMiniKeyboardView(Context context, AttributeSet attrs, int defStyle) { + public MiniKeyboardView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); - final TypedArray a = context.obtainStyledAttributes( - attrs, R.styleable.KeyboardView, defStyle, R.style.KeyboardView); - mVerticalCorrection = a.getDimensionPixelOffset( - R.styleable.KeyboardView_verticalCorrection, 0); - a.recycle(); - final Resources res = context.getResources(); // Override default ProximityKeyDetector. mKeyDetector = new MiniKeyboardKeyDetector(res.getDimension( diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java index c0dba4173..66dde0512 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyStyles.java @@ -171,7 +171,7 @@ public class KeyStyles { readInt(keyAttr, R.styleable.Keyboard_Key_keyIcon); readInt(keyAttr, R.styleable.Keyboard_Key_keyIconPreview); readInt(keyAttr, R.styleable.Keyboard_Key_keyIconShifted); - readInt(keyAttr, R.styleable.Keyboard_Key_maxPopupKeyboardColumn); + readInt(keyAttr, R.styleable.Keyboard_Key_maxMiniKeyboardColumn); readBoolean(keyAttr, R.styleable.Keyboard_Key_isFunctional); readBoolean(keyAttr, R.styleable.Keyboard_Key_isSticky); readBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable); diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java index f599def36..5c76facec 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java @@ -255,10 +255,10 @@ public class KeyboardBuilder<KP extends KeyboardParams> { mParams.mIsRtlKeyboard = keyboardAttr.getBoolean( R.styleable.Keyboard_isRtlKeyboard, false); - mParams.mPopupKeyboardResId = keyboardAttr.getResourceId( - R.styleable.Keyboard_popupKeyboardTemplate, 0); - mParams.mMaxPopupColumn = keyAttr.getInt( - R.styleable.Keyboard_Key_maxPopupKeyboardColumn, 5); + mParams.mPopupTemplateId = keyboardAttr.getResourceId( + R.styleable.Keyboard_popupTemplate, 0); + mParams.mMaxMiniKeyboardColumn = keyAttr.getInt( + R.styleable.Keyboard_Key_maxMiniKeyboardColumn, 5); mParams.mIconsSet.loadIcons(keyboardAttr); } finally { diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java index 980115200..e748dbb94 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardParams.java @@ -49,8 +49,8 @@ public class KeyboardParams { public int mVerticalGap; public boolean mIsRtlKeyboard; - public int mPopupKeyboardResId; - public int mMaxPopupColumn; + public int mPopupTemplateId; + public int mMaxMiniKeyboardColumn; public int GRID_WIDTH; public int GRID_HEIGHT; diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java index e95172d1f..38563be4a 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java @@ -25,12 +25,15 @@ import android.net.Uri; import android.text.TextUtils; import android.util.Log; +import java.io.BufferedInputStream; +import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Locale; @@ -46,7 +49,9 @@ public class BinaryDictionaryFileDumper { /** * The size of the temporary buffer to copy files. */ - static final int FILE_READ_BUFFER_SIZE = 1024; + private static final int FILE_READ_BUFFER_SIZE = 1024; + // TODO: make the following data common with the native code + private static final byte[] MAGIC_NUMBER = new byte[] { 0x78, (byte)0xB1 }; private static final String DICTIONARY_PROJECTION[] = { "id" }; @@ -135,6 +140,7 @@ public class BinaryDictionaryFileDumper { for (int mode = MODE_MIN; mode <= MODE_MAX; ++mode) { InputStream originalSourceStream = null; InputStream inputStream = null; + File outputFile = null; FileOutputStream outputStream = null; AssetFileDescriptor afd = null; try { @@ -144,7 +150,8 @@ public class BinaryDictionaryFileDumper { if (null == afd) return null; originalSourceStream = afd.createInputStream(); // Open output. - outputStream = new FileOutputStream(outputFileName); + outputFile = new File(outputFileName); + outputStream = new FileOutputStream(outputFile); // Get the appropriate decryption method for this try switch (mode) { case COMPRESSED_CRYPTED_COMPRESSED: @@ -171,7 +178,7 @@ public class BinaryDictionaryFileDumper { inputStream = originalSourceStream; break; } - copyFileTo(inputStream, outputStream); + checkMagicAndCopyFileTo(new BufferedInputStream(inputStream), outputStream); if (0 >= resolver.delete(wordListUri, null, null)) { Log.e(TAG, "Could not have the dictionary pack delete a word list"); } @@ -181,6 +188,12 @@ public class BinaryDictionaryFileDumper { if (DEBUG) { Log.i(TAG, "Can't open word list in mode " + mode + " : " + e); } + if (null != outputFile) { + // This may or may not fail. The file may not have been created if the + // exception was thrown before it could be. Hence, both failure and + // success are expected outcomes, so we don't check the return value. + outputFile.delete(); + } // Try the next method. } finally { // Ignore exceptions while closing files. @@ -234,12 +247,29 @@ public class BinaryDictionaryFileDumper { } /** - * Copies the data in an input stream to a target file. + * Copies the data in an input stream to a target file if the magic number matches. + * + * If the magic number does not match the expected value, this method throws an + * IOException. Other usual conditions for IOException or FileNotFoundException + * also apply. + * * @param input the stream to be copied. * @param outputFile an outputstream to copy the data to. */ - private static void copyFileTo(final InputStream input, final FileOutputStream output) - throws FileNotFoundException, IOException { + private static void checkMagicAndCopyFileTo(final BufferedInputStream input, + final FileOutputStream output) throws FileNotFoundException, IOException { + // Check the magic number + final byte[] magicNumberBuffer = new byte[MAGIC_NUMBER.length]; + final int readMagicNumberSize = input.read(magicNumberBuffer, 0, MAGIC_NUMBER.length); + if (readMagicNumberSize < MAGIC_NUMBER.length) { + throw new IOException("Less bytes to read than the magic number length"); + } + if (!Arrays.equals(MAGIC_NUMBER, magicNumberBuffer)) { + throw new IOException("Wrong magic number for downloaded file"); + } + output.write(MAGIC_NUMBER); + + // Actually copy the file final byte[] buffer = new byte[FILE_READ_BUFFER_SIZE]; for (int readBytes = input.read(buffer); readBytes >= 0; readBytes = input.read(buffer)) output.write(buffer, 0, readBytes); diff --git a/java/src/com/android/inputmethod/latin/CandidateView.java b/java/src/com/android/inputmethod/latin/CandidateView.java index f445abf48..b9ded31cb 100644 --- a/java/src/com/android/inputmethod/latin/CandidateView.java +++ b/java/src/com/android/inputmethod/latin/CandidateView.java @@ -59,8 +59,6 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo // The maximum number of suggestions available. See {@link Suggest#mPrefMaxSuggestions}. private static final int MAX_SUGGESTIONS = 18; - private static final int WRAP_CONTENT = ViewGroup.LayoutParams.WRAP_CONTENT; - private static final int MATCH_PARENT = ViewGroup.LayoutParams.MATCH_PARENT; private static final boolean DBG = LatinImeLogger.sDBG; @@ -155,7 +153,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo final TextView word = words.get(0); final View divider = dividers.get(0); mPadding = word.getCompoundPaddingLeft() + word.getCompoundPaddingRight(); - divider.measure(WRAP_CONTENT, MATCH_PARENT); + divider.measure( + ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); mDividerWidth = divider.getMeasuredWidth(); mDividerHeight = divider.getMeasuredHeight(); @@ -224,7 +223,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo lastView = word; if (x == 0) centeringFrom = word; - word.measure(WRAP_CONTENT, + word.measure(ViewGroup.LayoutParams.WRAP_CONTENT, MeasureSpec.makeMeasureSpec(mCandidateStripHeight, MeasureSpec.EXACTLY)); final int width = word.getMeasuredWidth(); final int height = word.getMeasuredHeight(); @@ -234,7 +233,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo if (info != null) { paneView.addView(info); lastView = info; - info.measure(WRAP_CONTENT, WRAP_CONTENT); + info.measure(ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.WRAP_CONTENT); final int infoWidth = info.getMeasuredWidth(); FrameLayoutCompatUtils.placeViewAt( info, x - infoWidth, y, infoWidth, info.getMeasuredHeight()); @@ -430,7 +430,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo word.setText(text); // TextView.setText() resets text scale x to 1.0. word.setTextScaleX(scaleX); stripView.addView(word); - setLayoutWeight(word, getCandidateWeight(index), MATCH_PARENT); + setLayoutWeight( + word, getCandidateWeight(index), ViewGroup.LayoutParams.MATCH_PARENT); x += word.getMeasuredWidth(); if (DBG) { @@ -439,7 +440,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo final TextView info = mInfos.get(pos); info.setText(debugInfo); placer.addView(info); - info.measure(WRAP_CONTENT, WRAP_CONTENT); + info.measure(ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.WRAP_CONTENT); final int infoWidth = info.getMeasuredWidth(); final int y = info.getMeasuredHeight(); FrameLayoutCompatUtils.placeViewAt( @@ -515,7 +517,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo wordView.setText(text); wordView.setTextScaleX(wordScaleX); stripView.addView(wordView); - setLayoutWeight(wordView, mCenterCandidateWeight, MATCH_PARENT); + setLayoutWeight(wordView, mCenterCandidateWeight, ViewGroup.LayoutParams.MATCH_PARENT); stripView.addView(mDividers.get(0)); @@ -526,7 +528,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo hintView.setText(mHintToSaveText); hintView.setTextScaleX(hintScaleX); stripView.addView(hintView); - setLayoutWeight(hintView, 1.0f - mCenterCandidateWeight, MATCH_PARENT); + setLayoutWeight( + hintView, 1.0f - mCenterCandidateWeight, ViewGroup.LayoutParams.MATCH_PARENT); } } @@ -558,7 +561,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo mPreviewPopup = new PopupWindow(context); mPreviewText = (TextView) inflater.inflate(R.layout.candidate_preview, null); - mPreviewPopup.setWindowLayoutMode(WRAP_CONTENT, WRAP_CONTENT); + mPreviewPopup.setWindowLayoutMode( + ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); mPreviewPopup.setContentView(mPreviewText); mPreviewPopup.setBackgroundDrawable(null); @@ -796,8 +800,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo final TextView previewText = mPreviewText; previewText.setTextColor(mStripParams.mColorTypedWord); previewText.setText(word); - previewText.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), - MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); + previewText.measure( + ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); final int[] offsetInWindow = new int[2]; view.getLocationInWindow(offsetInWindow); final int posX = offsetInWindow[0]; diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java index a5eed9015..b79c441d7 100644 --- a/java/src/com/android/inputmethod/latin/Settings.java +++ b/java/src/com/android/inputmethod/latin/Settings.java @@ -73,7 +73,6 @@ public class Settings extends InputMethodSettingsActivity public static final String PREF_AUTO_CORRECTION_THRESHOLD = "auto_correction_threshold"; public static final String PREF_DEBUG_SETTINGS = "debug_settings"; - public static final String PREF_NGRAM_SETTINGS_KEY = "ngram_settings"; public static final String PREF_BIGRAM_SUGGESTIONS = "bigram_suggestion"; public static final String PREF_BIGRAM_PREDICTIONS = "bigram_prediction"; |