summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorYohei Yukawa <yukawa@google.com>2016-04-10 00:39:28 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-04-10 00:39:29 +0000
commit6feeedc72b582f042986218185877ddda49c867b (patch)
tree0ee1a2513ba1c559ec5795f36950a8a951b2c391 /core/java/android
parent8ed9ece93dca5c7266ca7d9c5fabe7c9a6b214e7 (diff)
parent757224008e6187bbb04c89fadbe6921bf8ceda9f (diff)
Merge "Revert "Customizes input extract edit view for Wear"" into nyc-dev
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/inputmethodservice/CompactExtractEditLayout.java103
-rw-r--r--core/java/android/inputmethodservice/InputMethodService.java53
2 files changed, 7 insertions, 149 deletions
diff --git a/core/java/android/inputmethodservice/CompactExtractEditLayout.java b/core/java/android/inputmethodservice/CompactExtractEditLayout.java
deleted file mode 100644
index f994c65f6935..000000000000
--- a/core/java/android/inputmethodservice/CompactExtractEditLayout.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package android.inputmethodservice;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.annotation.FractionRes;
-import android.util.AttributeSet;
-import android.util.DisplayMetrics;
-import android.view.Gravity;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.LinearLayout;
-
-/**
- * A special purpose layout for the editor extract view for tiny (sub 250dp) screens.
- * The layout is based on sizes proportional to screen pixel size to provide for the
- * best layout fidelity on varying pixel sizes and densities.
- *
- * @hide
- */
-public class CompactExtractEditLayout extends LinearLayout {
- private View mInputExtractEditText;
- private View mInputExtractAccessories;
- private View mInputExtractAction;
- private boolean mPerformLayoutChanges;
-
- public CompactExtractEditLayout(Context context) {
- super(context);
- }
-
- public CompactExtractEditLayout(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public CompactExtractEditLayout(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- }
-
- @Override
- protected void onFinishInflate() {
- super.onFinishInflate();
- mInputExtractEditText = findViewById(com.android.internal.R.id.inputExtractEditText);
- mInputExtractAccessories = findViewById(com.android.internal.R.id.inputExtractAccessories);
- mInputExtractAction = findViewById(com.android.internal.R.id.inputExtractAction);
-
- if (mInputExtractEditText != null && mInputExtractAccessories != null
- && mInputExtractAction != null) {
- mPerformLayoutChanges = true;
- }
- }
-
- private int applyFractionInt(@FractionRes int fraction, int whole) {
- return Math.round(getResources().getFraction(fraction, whole, whole));
- }
-
- private static void setLayoutHeight(View v, int px) {
- ViewGroup.LayoutParams lp = v.getLayoutParams();
- lp.height = px;
- v.setLayoutParams(lp);
- }
-
- private static void setLayoutMarginBottom(View v, int px) {
- ViewGroup.MarginLayoutParams lp = (MarginLayoutParams) v.getLayoutParams();
- lp.bottomMargin = px;
- v.setLayoutParams(lp);
- }
-
- private void applyProportionalLayout(int screenWidthPx, int screenHeightPx) {
- if (getResources().getConfiguration().isScreenRound()) {
- setGravity(Gravity.BOTTOM);
- }
- setLayoutHeight(this, applyFractionInt(
- com.android.internal.R.fraction.input_extract_layout_height, screenHeightPx));
-
- setPadding(
- applyFractionInt(com.android.internal.R.fraction.input_extract_layout_padding_left,
- screenWidthPx),
- 0,
- applyFractionInt(com.android.internal.R.fraction.input_extract_layout_padding_right,
- screenWidthPx),
- 0);
-
- setLayoutMarginBottom(mInputExtractEditText,
- applyFractionInt(com.android.internal.R.fraction.input_extract_text_margin_bottom,
- screenHeightPx));
-
- setLayoutMarginBottom(mInputExtractAccessories,
- applyFractionInt(com.android.internal.R.fraction.input_extract_action_margin_bottom,
- screenHeightPx));
- }
-
- @Override
- protected void onAttachedToWindow() {
- super.onAttachedToWindow();
- if (mPerformLayoutChanges) {
- Resources res = getResources();
- DisplayMetrics dm = res.getDisplayMetrics();
- int heightPixels = dm.heightPixels;
- int widthPixels = dm.widthPixels;
- applyProportionalLayout(widthPixels, heightPixels);
- }
- }
-}
-
diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java
index 085b97cc0f6d..cc201bc78bb5 100644
--- a/core/java/android/inputmethodservice/InputMethodService.java
+++ b/core/java/android/inputmethodservice/InputMethodService.java
@@ -68,10 +68,9 @@ import android.view.inputmethod.InputConnection;
import android.view.inputmethod.InputMethod;
import android.view.inputmethod.InputMethodManager;
import android.view.inputmethod.InputMethodSubtype;
+import android.widget.Button;
import android.widget.FrameLayout;
-import android.widget.ImageButton;
import android.widget.LinearLayout;
-import android.widget.TextView;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -303,7 +302,7 @@ public class InputMethodService extends AbstractInputMethodService {
boolean mExtractViewHidden;
ExtractEditText mExtractEditText;
ViewGroup mExtractAccessories;
- View mExtractAction;
+ Button mExtractAction;
ExtractedText mExtractedText;
int mExtractedToken;
@@ -1345,7 +1344,7 @@ public class InputMethodService extends AbstractInputMethodService {
mExtractEditText = (ExtractEditText)view.findViewById(
com.android.internal.R.id.inputExtractEditText);
mExtractEditText.setIME(this);
- mExtractAction = view.findViewById(
+ mExtractAction = (Button)view.findViewById(
com.android.internal.R.id.inputExtractAction);
if (mExtractAction != null) {
mExtractAccessories = (ViewGroup)view.findViewById(
@@ -2409,35 +2408,7 @@ public class InputMethodService extends AbstractInputMethodService {
return getText(com.android.internal.R.string.ime_action_default);
}
}
-
- /**
- * Return a drawable resource id that can be used as a button icon for the given
- * {@link EditorInfo#imeOptions EditorInfo.imeOptions}.
- *
- * @param imeOptions The value from @link EditorInfo#imeOptions EditorInfo.imeOptions}.
- *
- * @return Returns a drawable resource id to use.
- */
- @DrawableRes
- private int getIconForImeAction(int imeOptions) {
- switch (imeOptions&EditorInfo.IME_MASK_ACTION) {
- case EditorInfo.IME_ACTION_GO:
- return com.android.internal.R.drawable.ic_input_extract_action_go;
- case EditorInfo.IME_ACTION_SEARCH:
- return com.android.internal.R.drawable.ic_input_extract_action_search;
- case EditorInfo.IME_ACTION_SEND:
- return com.android.internal.R.drawable.ic_input_extract_action_send;
- case EditorInfo.IME_ACTION_NEXT:
- return com.android.internal.R.drawable.ic_input_extract_action_next;
- case EditorInfo.IME_ACTION_DONE:
- return com.android.internal.R.drawable.ic_input_extract_action_done;
- case EditorInfo.IME_ACTION_PREVIOUS:
- return com.android.internal.R.drawable.ic_input_extract_action_previous;
- default:
- return com.android.internal.R.drawable.ic_input_extract_action_return;
- }
- }
-
+
/**
* Called when the fullscreen-mode extracting editor info has changed,
* to determine whether the extracting (extract text and candidates) portion
@@ -2488,20 +2459,10 @@ public class InputMethodService extends AbstractInputMethodService {
if (hasAction) {
mExtractAccessories.setVisibility(View.VISIBLE);
if (mExtractAction != null) {
- if (mExtractAction instanceof ImageButton) {
- ((ImageButton) mExtractAction)
- .setImageResource(getIconForImeAction(ei.imeOptions));
- if (ei.actionLabel != null) {
- mExtractAction.setContentDescription(ei.actionLabel);
- } else {
- mExtractAction.setContentDescription(getTextForImeAction(ei.imeOptions));
- }
+ if (ei.actionLabel != null) {
+ mExtractAction.setText(ei.actionLabel);
} else {
- if (ei.actionLabel != null) {
- ((TextView) mExtractAction).setText(ei.actionLabel);
- } else {
- ((TextView) mExtractAction).setText(getTextForImeAction(ei.imeOptions));
- }
+ mExtractAction.setText(getTextForImeAction(ei.imeOptions));
}
mExtractAction.setOnClickListener(mActionClickListener);
}