diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values-sw600dp-land/bools.xml b/mobile/com.sap.sailing.racecommittee.app/res/values-sw600dp-land/bools.xml new file mode 100644 index 00000000000..614c7278946 --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/values-sw600dp-land/bools.xml @@ -0,0 +1,6 @@ + + + + true + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values-sw600dp/bools.xml b/mobile/com.sap.sailing.racecommittee.app/res/values-sw600dp/bools.xml new file mode 100644 index 00000000000..614c7278946 --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/values-sw600dp/bools.xml @@ -0,0 +1,6 @@ + + + + true + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values/bools.xml b/mobile/com.sap.sailing.racecommittee.app/res/values/bools.xml new file mode 100644 index 00000000000..449c43ceb99 --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/values/bools.xml @@ -0,0 +1,6 @@ + + + + false + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/views/SearchView.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/views/SearchView.java index 6a297cc4a22..27a35193d07 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/views/SearchView.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/views/SearchView.java @@ -2,10 +2,10 @@ package com.sap.sailing.racecommittee.app.ui.views; import android.content.Context; import android.text.Editable; -import android.text.TextWatcher; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; +import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.FrameLayout; import android.widget.ImageView; @@ -36,6 +36,7 @@ public class SearchView extends FrameLayout { mEditText = (EditText) layout.findViewById(R.id.search_input); if (mEditText != null) { + mEditText.setVisibility(getResources().getBoolean(R.bool.penalty_search_open) ? VISIBLE : GONE); mEditText.addTextChangedListener(new android.text.TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -56,12 +57,15 @@ public class SearchView extends FrameLayout { }); } mSearchIcon = (ImageView) layout.findViewById(R.id.search_icon); + if (mSearchIcon != null && getResources().getBoolean(R.bool.penalty_search_open)) { + mSearchIcon.setImageDrawable(BitmapHelper.getAttrDrawable(getContext(), R.attr.clear_24dp)); + } View searchButton = layout.findViewById(R.id.search_button); if (searchButton != null) { searchButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { - onClickButton(); + onClickButton(getResources().getBoolean(R.bool.penalty_search_open)); } }); } @@ -73,16 +77,25 @@ public class SearchView extends FrameLayout { mWatcher = watcher; } - private void onClickButton() { - if (mCollapsed) { - mSearchIcon.setImageDrawable(BitmapHelper.getAttrDrawable(getContext(), R.attr.clear_24dp)); - mEditText.setVisibility(VISIBLE); - } else { - mSearchIcon.setImageDrawable(BitmapHelper.getAttrDrawable(getContext(), R.attr.search_24dp)); + private void onClickButton(boolean startOpen) { + if (startOpen) { mEditText.setText(null); - mEditText.setVisibility(GONE); + } else { + if (mCollapsed) { + mSearchIcon.setImageDrawable(BitmapHelper.getAttrDrawable(getContext(), R.attr.clear_24dp)); + mEditText.setVisibility(VISIBLE); + mEditText.requestFocus(); + InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE); + imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, 0); + } else { + InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE); + imm.toggleSoftInput(InputMethodManager.RESULT_HIDDEN, 0); + mSearchIcon.setImageDrawable(BitmapHelper.getAttrDrawable(getContext(), R.attr.search_24dp)); + mEditText.setText(null); + mEditText.setVisibility(GONE); + } + mCollapsed = !mCollapsed; } - mCollapsed = !mCollapsed; } public interface SearchTextWatcher {