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 {