add logic for onQueryTextChange() to decide when to send out API call to request new info;
update logic for onQueryTextChange() to handle first press condition to improve user experience;
(1) update logic for onQueryTextChange() to handle the case that an item on the suggestion list is clicked;
(2) break the large if else block into smaller blocks to make them easier to read;