Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2322)

Unified Diff: blimp/client/core/contents/android/java/src/org/chromium/blimp/core/contents/input/ImeHelperDialog.java

Issue 2624903006: Remove all blimp client code. (Closed)
Patch Set: Update buildbot configuration Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: blimp/client/core/contents/android/java/src/org/chromium/blimp/core/contents/input/ImeHelperDialog.java
diff --git a/blimp/client/core/contents/android/java/src/org/chromium/blimp/core/contents/input/ImeHelperDialog.java b/blimp/client/core/contents/android/java/src/org/chromium/blimp/core/contents/input/ImeHelperDialog.java
deleted file mode 100644
index 15473e34b9cc779aa8eabf7e0d0272e4b76e0a49..0000000000000000000000000000000000000000
--- a/blimp/client/core/contents/android/java/src/org/chromium/blimp/core/contents/input/ImeHelperDialog.java
+++ /dev/null
@@ -1,207 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.blimp.core.contents.input;
-
-import android.app.Activity;
-import android.app.Dialog;
-import android.content.Context;
-import android.text.InputType;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.WindowManager;
-import android.view.inputmethod.EditorInfo;
-import android.view.inputmethod.InputMethodManager;
-import android.widget.EditText;
-import android.widget.TextView;
-
-import org.chromium.base.annotations.CalledByNative;
-import org.chromium.base.annotations.JNINamespace;
-import org.chromium.blimp.core.R;
-import org.chromium.ui.base.WindowAndroid;
-import org.chromium.ui.base.ime.TextInputType;
-
-/**
- * Helper class showing the UI that allows users to enter text into a web page.
- * A pop up is created when user taps on a text area prompting user to start typing.
- * As soon as user submits the text, a spinner is shown which is dismissed only after
- * receiving a hide IME request from the engine.
- */
-@JNINamespace("blimp::client")
-public class ImeHelperDialog implements WebInputConfirmationPanel.Listener {
- private static final String TAG = "ImeHelperDialog";
- private final Context mContext;
-
- private String mExistingText;
- private Dialog mDialog;
- private ImeEditText mEditText;
-
- private long mNativeImeHelperDialog;
-
- @CalledByNative
- private static ImeHelperDialog create(long nativeImeHelperDialog, WindowAndroid windowAndroid) {
- return new ImeHelperDialog(nativeImeHelperDialog,
- WindowAndroid.activityFromContext(windowAndroid.getContext().get()));
- }
-
- /**
- * Builds a new {@link ImeHelperDialog}.
- * @param nativeImeHelperDialog The pointer to the native ImeHelperDialog.
- * @param context The {@link Context} of the activity.
- */
- private ImeHelperDialog(long nativeImeHelperDialog, Context context) {
- mContext = context;
- mNativeImeHelperDialog = nativeImeHelperDialog;
- }
-
- @CalledByNative
- private void clearNativePtr() {
- mNativeImeHelperDialog = 0;
- }
-
- // WebInputConfirmationPanel.Listener implementation.
- @Override
- public void onConfirm() {
- onImeTextEntered(mEditText.getText().toString(), false);
- }
-
- // WebInputConfirmationPanel.Listener implementation.
- @Override
- public void onCancel() {
- if (mDialog != null) {
- mDialog.dismiss();
- }
- }
-
- /**
- * Sends the text entered from IME to blimp engine.
- * @param text The text the user entered.
- * @param submit Whether or not to submit the form.
- */
- private void onImeTextEntered(String text, boolean submit) {
- if (mNativeImeHelperDialog == 0) return;
-
- // Hide the IME.
- InputMethodManager imm =
- (InputMethodManager) mContext.getSystemService(Activity.INPUT_METHOD_SERVICE);
- imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
-
- mEditText.setTextColor(R.color.disabled_text_color);
- mEditText.setBackgroundResource(R.drawable.dotted_line);
-
- nativeOnImeTextEntered(mNativeImeHelperDialog, text, submit);
- }
-
- @CalledByNative
- private void onShowImeRequested(int inputType, String text) {
- if (mDialog != null && mDialog.isShowing()) {
- mDialog.dismiss();
- }
-
- createTextInputPopup(inputType, text);
- }
-
- @CalledByNative
- private void onHideImeRequested() {
- if (mDialog == null) return;
-
- mDialog.dismiss();
- }
-
- private void createTextInputPopup(int inputType, String existingText) {
- mExistingText = existingText;
- final View dialogView =
- ((Activity) mContext).getLayoutInflater().inflate(R.layout.text_input_popup, null);
-
- final WebInputConfirmationPanel confirmPanel =
- (WebInputConfirmationPanel) dialogView.findViewById(R.id.submit_panel);
- confirmPanel.setListener(this);
-
- mDialog = new Dialog(mContext);
- mDialog.setContentView(dialogView);
- mDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
- mDialog.setCanceledOnTouchOutside(true);
-
- final TextView tvLabel = (TextView) dialogView.findViewById(R.id.label);
- tvLabel.setText(R.string.blimp_web_input_default_label);
-
- mEditText = (ImeEditText) dialogView.findViewById(R.id.ime_edit_text);
- mEditText.initialize(mDialog);
- mEditText.setText(existingText);
- setEditorOptions(mEditText, inputType);
- mEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
- @Override
- public boolean onEditorAction(TextView tv, int actionId, KeyEvent event) {
- switch (actionId) {
- case EditorInfo.IME_ACTION_NEXT:
- case EditorInfo.IME_ACTION_DONE:
- case EditorInfo.IME_ACTION_SEARCH:
- case EditorInfo.IME_ACTION_GO:
- confirmPanel.startAnimation();
- onImeTextEntered(mEditText.getText().toString(), true);
- return true;
- default:
- return false;
- }
- }
- });
-
- mDialog.show();
- mEditText.requestFocus();
- }
-
- /**
- * Set the IME options and input type for editor based on the type received from engine.
- * @param editText The edit text for which the IME options are being determined.
- * @param inputTypeEngine Input type received from engine, defined in {@link TextInputType}.
- */
- private static void setEditorOptions(EditText editText, int inputTypeEngine) {
- int inputType = InputType.TYPE_CLASS_TEXT;
- int imeOptions = EditorInfo.IME_FLAG_NO_FULLSCREEN | EditorInfo.IME_FLAG_NO_EXTRACT_UI;
-
- switch (inputTypeEngine) {
- case TextInputType.TEXT:
- inputType = InputType.TYPE_CLASS_TEXT;
- imeOptions |= EditorInfo.IME_ACTION_GO;
- break;
- case TextInputType.PASSWORD:
- inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD;
- imeOptions |= EditorInfo.IME_ACTION_GO;
- break;
- case TextInputType.SEARCH:
- imeOptions |= EditorInfo.IME_ACTION_SEARCH;
- break;
- case TextInputType.EMAIL:
- inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS;
- imeOptions |= EditorInfo.IME_ACTION_GO;
- break;
- case TextInputType.NUMBER:
- inputType = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL
- | InputType.TYPE_NUMBER_FLAG_DECIMAL;
- imeOptions |= EditorInfo.IME_ACTION_NEXT;
- break;
- case TextInputType.TELEPHONE:
- inputType = InputType.TYPE_CLASS_PHONE;
- imeOptions |= EditorInfo.IME_ACTION_NEXT;
- break;
- case TextInputType.URL:
- inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI;
- imeOptions |= EditorInfo.IME_ACTION_GO;
- break;
- case TextInputType.TEXT_AREA:
- case TextInputType.CONTENT_EDITABLE:
- inputType |= InputType.TYPE_TEXT_FLAG_MULTI_LINE;
- imeOptions |= EditorInfo.IME_ACTION_NONE;
- break;
- default:
- inputType = InputType.TYPE_CLASS_TEXT;
- }
-
- editText.setInputType(inputType);
- editText.setImeOptions(imeOptions);
- }
-
- private native void nativeOnImeTextEntered(
- long nativeImeHelperDialog, String text, boolean submit);
-}

Powered by Google App Engine
This is Rietveld 408576698