Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e9a9dbe7 authored by Gilles Debunne's avatar Gilles Debunne Committed by Android (Google) Code Review
Browse files

Merge "The back key stops selection mode in extracted text mode."

parents d61a3a1b 34703b6d
Loading
Loading
Loading
Loading
+20 −4
Original line number Diff line number Diff line
@@ -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
+20 −3
Original line number Diff line number Diff line
@@ -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;
        }
    }
@@ -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);