@@ -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