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

Commit f9b9bd53 authored by Amith Yamasani's avatar Amith Yamasani Committed by Android Git Automerger
Browse files

am 1f111f11: Merge "Searchview layout cleanup. Some more tweaks required for...

am 1f111f11: Merge "Searchview layout cleanup. Some more tweaks required for Market." into honeycomb-mr1

* commit '1f111f11':
  Searchview layout cleanup. Some more tweaks required for Market.
parents 88d2d039 1f111f11
Loading
Loading
Loading
Loading
+22 −18
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ public class SearchView extends LinearLayout {
    private CursorAdapter mSuggestionsAdapter;
    private View mSearchButton;
    private View mSubmitButton;
    private View mSearchPlate;
    private View mSubmitArea;
    private ImageView mCloseButton;
    private View mSearchEditFrame;
@@ -190,6 +191,7 @@ public class SearchView extends LinearLayout {
        mQueryTextView.setSearchView(this);

        mSearchEditFrame = findViewById(R.id.search_edit_frame);
        mSearchPlate = findViewById(R.id.search_plate);
        mSubmitArea = findViewById(R.id.submit_area);
        mSubmitButton = findViewById(R.id.search_go_btn);
        mCloseButton = (ImageView) findViewById(R.id.search_close_btn);
@@ -258,6 +260,7 @@ public class SearchView extends LinearLayout {
        mSearchable = searchable;
        if (mSearchable != null) {
            updateSearchAutoComplete();
            updateQueryHint();
        }
        // Cache the voice search capability
        mVoiceButtonEnabled = hasVoiceSearch();
@@ -575,19 +578,19 @@ public class SearchView extends LinearLayout {
    }

    private void updateSubmitButton(boolean hasText) {
        mSubmitButton.setVisibility(
                isSubmitAreaEnabled() ? (hasText ? VISIBLE : INVISIBLE) : GONE);
        int visibility = GONE;
        if (isSubmitAreaEnabled() && hasFocus() && (hasText || !mVoiceButtonEnabled)) {
            visibility = VISIBLE;
        }
        mSubmitButton.setVisibility(visibility);
    }

    private void updateSubmitArea() {
        int visibility = GONE;
        if (isSubmitAreaEnabled()) {
            if (mSubmitButton.getVisibility() == VISIBLE
                    || mVoiceButton.getVisibility() == VISIBLE) {
        if (isSubmitAreaEnabled()
                && (mSubmitButton.getVisibility() == VISIBLE
                        || mVoiceButton.getVisibility() == VISIBLE)) {
            visibility = VISIBLE;
            } else {
                visibility = INVISIBLE;
            }
        }
        mSubmitArea.setVisibility(visibility);
    }
@@ -601,6 +604,11 @@ public class SearchView extends LinearLayout {
        mCloseButton.getDrawable().setState(hasText ? ENABLED_STATE_SET : EMPTY_STATE_SET);
    }

    private void updateFocusedState(boolean focused) {
        mSearchPlate.getBackground().setState(focused ? FOCUSED_STATE_SET : EMPTY_STATE_SET);
        mSubmitArea.getBackground().setState(focused ? FOCUSED_STATE_SET : EMPTY_STATE_SET);
    }

    private void setImeVisibility(boolean visible) {
        InputMethodManager imm = (InputMethodManager)
                getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
@@ -851,16 +859,11 @@ public class SearchView extends LinearLayout {
     * Update the visibility of the voice button.  There are actually two voice search modes,
     * either of which will activate the button.
     * @param empty whether the search query text field is empty. If it is, then the other
     * criteria apply to make the voice button visible. Otherwise the voice button will not
     * be visible - i.e., if the user has typed a query, remove the voice button.
     * criteria apply to make the voice button visible.
     */
    private void updateVoiceButton(boolean empty) {
        // If the voice button is to be visible, show it
        // Else, make it gone if the submit button is enabled, otherwise invisible to
        // avoid losing the real-estate
        int visibility = mSubmitButtonEnabled ? GONE : INVISIBLE;

        if (mVoiceButtonEnabled && !isIconified() && empty) {
        int visibility = GONE;
        if (mVoiceButtonEnabled && !isIconified() && (empty || !mSubmitButtonEnabled)) {
            visibility = VISIBLE;
            mSubmitButton.setVisibility(GONE);
        }
@@ -958,7 +961,8 @@ public class SearchView extends LinearLayout {
    }

    void onTextFocusChanged() {
        updateCloseButton();
        updateViewsVisibility(isIconified());
        updateFocusedState(mQueryTextView.hasFocus());
    }

    private boolean onItemClicked(int position, int actionKey, String actionMsg) {
+4 −0
Original line number Diff line number Diff line
@@ -54,6 +54,10 @@
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="4dip"
        android:layout_marginRight="4dip"
        android:layout_marginTop="4dip"
        android:layout_marginBottom="4dip"
        android:orientation="horizontal">

        <!-- Inner layout contains the app icon, button(s) and EditText -->