Merge "The back key stops selection mode in extracted text mode."
This commit is contained in:
committed by
Android (Google) Code Review
commit
e9a9dbe729
@@ -16,9 +16,6 @@
|
||||
|
||||
package android.inputmethodservice;
|
||||
|
||||
import com.android.internal.view.menu.MenuBuilder;
|
||||
import com.android.internal.view.menu.MenuPopupHelper;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.ActionMode;
|
||||
@@ -29,6 +26,9 @@ import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import com.android.internal.view.menu.MenuBuilder;
|
||||
import com.android.internal.view.menu.MenuPopupHelper;
|
||||
|
||||
/**
|
||||
* ExtractEditLayout provides an ActionMode presentation for the
|
||||
* limited screen real estate in extract mode.
|
||||
@@ -61,6 +61,22 @@ public class ExtractEditLayout extends LinearLayout {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if an action mode is currently active.
|
||||
*/
|
||||
public boolean isActionModeStarted() {
|
||||
return mActionMode != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Finishes a possibly started action mode.
|
||||
*/
|
||||
public void finishActionMode() {
|
||||
if (mActionMode != null) {
|
||||
mActionMode.finish();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinishInflate() {
|
||||
super.onFinishInflate();
|
||||
@@ -92,7 +108,7 @@ public class ExtractEditLayout extends LinearLayout {
|
||||
|
||||
@Override
|
||||
public void setTitle(int resId) {
|
||||
// Title will nor be shown.
|
||||
// Title will not be shown.
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -637,6 +637,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
* configuration change happens.
|
||||
*/
|
||||
public void onInitializeInterface() {
|
||||
// Intentionally empty
|
||||
}
|
||||
|
||||
void initialize() {
|
||||
@@ -876,8 +877,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
}
|
||||
|
||||
if (changed) {
|
||||
onConfigureWindow(mWindow.getWindow(), isFullscreen,
|
||||
!mShowInputRequested);
|
||||
onConfigureWindow(mWindow.getWindow(), isFullscreen, !mShowInputRequested);
|
||||
mLastShowInputRequested = mShowInputRequested;
|
||||
}
|
||||
}
|
||||
@@ -935,7 +935,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Controls the visibility of the extracted text area. This only applies
|
||||
* when the input method is in fullscreen mode, and thus showing extracted
|
||||
@@ -1242,6 +1242,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
* same text field as before.
|
||||
*/
|
||||
public void onStartInputView(EditorInfo info, boolean restarting) {
|
||||
// Intentionally empty
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1286,6 +1287,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
* same text field as before.
|
||||
*/
|
||||
public void onStartCandidatesView(EditorInfo info, boolean restarting) {
|
||||
// Intentionally empty
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1455,6 +1457,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
* for the window has occurred (creating its views etc).
|
||||
*/
|
||||
public void onWindowShown() {
|
||||
// Intentionally empty
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1462,6 +1465,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
* after previously being visible.
|
||||
*/
|
||||
public void onWindowHidden() {
|
||||
// Intentionally empty
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1472,6 +1476,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
* and {@link #getCurrentInputConnection} return valid objects.
|
||||
*/
|
||||
public void onBindInput() {
|
||||
// Intentionally empty
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1481,6 +1486,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
* valid objects.
|
||||
*/
|
||||
public void onUnbindInput() {
|
||||
// Intentionally empty
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1496,6 +1502,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
* session with the editor.
|
||||
*/
|
||||
public void onStartInput(EditorInfo attribute, boolean restarting) {
|
||||
// Intentionally empty
|
||||
}
|
||||
|
||||
void doFinishInput() {
|
||||
@@ -1570,6 +1577,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
* <p>The default implementation here does nothing.
|
||||
*/
|
||||
public void onDisplayCompletions(CompletionInfo[] completions) {
|
||||
// Intentionally empty
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1626,6 +1634,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
* @param focusChanged true if the user changed the focused view by this click.
|
||||
*/
|
||||
public void onViewClicked(boolean focusChanged) {
|
||||
// Intentionally empty
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1634,6 +1643,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
* The default implementation does nothing.
|
||||
*/
|
||||
public void onUpdateCursor(Rect newCursor) {
|
||||
// Intentionally empty
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1664,6 +1674,13 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
|
||||
private boolean handleBack(boolean doIt) {
|
||||
if (mShowInputRequested) {
|
||||
if (isExtractViewShown() && mExtractView instanceof ExtractEditLayout) {
|
||||
ExtractEditLayout extractEditLayout = (ExtractEditLayout) mExtractView;
|
||||
if (extractEditLayout.isActionModeStarted()) {
|
||||
if (doIt) extractEditLayout.finishActionMode();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// If the soft input area is shown, back closes it and we
|
||||
// consume the back key.
|
||||
if (doIt) requestHideSelf(0);
|
||||
|
||||
Reference in New Issue
Block a user