From d5340b798206a8e57b21743ecacf79fa53bbef00 Mon Sep 17 00:00:00 2001 From: vng Date: Mon, 9 Jul 2012 15:02:13 -0700 Subject: [PATCH] [android] Add progress to SearchActivity. --- android/res/layout/search_list_view.xml | 23 +++++++++++++--- .../com/mapswithme/maps/SearchActivity.java | 26 ++++++++++++++++--- 2 files changed, 42 insertions(+), 7 deletions(-) diff --git a/android/res/layout/search_list_view.xml b/android/res/layout/search_list_view.xml index 0ad66da73c..8fda83c690 100644 --- a/android/res/layout/search_list_view.xml +++ b/android/res/layout/search_list_view.xml @@ -6,10 +6,25 @@ android:paddingLeft="8dp" android:paddingRight="8dp"> - + + + + + + + = m_queryID && id < m_queryID + QUERY_STEP); + } + public void updateData(final int count, final int resultID) { runOnUiThread(new Runnable() { + @SuppressLint("ParserError") @Override public void run() { Log.d(TAG, "Show " + count + " results for id = " + resultID); + // if this results for the last query - hide progress + if (isCurrentResult(resultID)) + m_progress.setVisibility(View.GONE); + // update list view content getSA().updateData(count, resultID); @@ -405,15 +419,21 @@ public class SearchActivity extends ListActivity implements LocationService.List final String s = getSearchString(); - m_queryID += QUERY_STEP; - if (nativeRunSearch(s, lang, m_lat, m_lon, m_mode, m_queryID)) + final int id = m_queryID + QUERY_STEP; + if (nativeRunSearch(s, lang, m_lat, m_lon, m_mode, id)) { + // store current query + m_queryID = id; + // mark that it's not the first query already if (m_mode % 2 == 0) ++m_mode; // set toolbar visible only for empty search string LinearLayout bar = getSearchToolbar(); bar.setVisibility(s.length() == 0 ? View.VISIBLE : View.GONE); + + // show search progress + m_progress.setVisibility(View.VISIBLE); } }