Skip to content

Commit 38a3bf3

Browse files
committed
prevent searchbar listener overriding the search result when disabled
1 parent 8c115fe commit 38a3bf3

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

ui/src/main/java/io/snabble/sdk/ui/search/ProductSearchView.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ private void inflateView() {
4747
Project project = SnabbleUI.getProject();
4848

4949
RecyclerView recyclerView = findViewById(R.id.recycler_view);
50+
51+
searchBarEnabled = true;
5052
searchBar = findViewById(R.id.search_bar);
5153
searchBar.addTextChangedListener(new TextWatcher() {
5254
@Override
@@ -61,7 +63,9 @@ public void onTextChanged(CharSequence s, int start, int before, int count) {
6163

6264
@Override
6365
public void afterTextChanged(Editable s) {
64-
search(s.toString());
66+
if (searchBarEnabled) {
67+
search(s.toString());
68+
}
6569
}
6670
});
6771

@@ -71,12 +75,9 @@ public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
7175
if (actionId == EditorInfo.IME_ACTION_DONE
7276
|| (event.getAction() == KeyEvent.ACTION_DOWN
7377
&& event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
74-
SnabbleUICallback callback = SnabbleUI.getUiCallback();
75-
if (callback != null) {
76-
CharSequence text = searchBar.getText();
77-
if (text != null) {
78-
callback.showScannerWithCode(text.toString());
79-
}
78+
CharSequence text = searchBar.getText();
79+
if (text != null) {
80+
showScannerWithCode(text.toString());
8081
}
8182

8283
return true;
@@ -137,11 +138,15 @@ public void setSearchBarEnabled(boolean searchBarEnabled) {
137138

138139
public void search(String searchQuery) {
139140
if (searchBarEnabled) {
140-
searchBar.setText(searchQuery);
141+
if(!searchBar.getText().toString().equals(searchQuery)) {
142+
searchBar.setText(searchQuery);
143+
}
141144
}
142145

143-
lastSearchQuery = searchQuery;
144-
searchableProductAdapter.search(searchQuery);
146+
if (lastSearchQuery == null || !lastSearchQuery.equals(searchQuery)) {
147+
lastSearchQuery = searchQuery;
148+
searchableProductAdapter.search(searchQuery);
149+
}
145150
}
146151

147152
private void onSearchUpdated() {

0 commit comments

Comments
 (0)