[iitcm] improved search
This commit is contained in:
parent
2e1a5fd1ae
commit
4d6a7df596
@ -195,6 +195,8 @@ window.search.doSearch = function(term, confirmed) {
|
||||
// clear results
|
||||
if(term == '') return;
|
||||
|
||||
if(useAndroidPanes()) show('info');
|
||||
|
||||
$('#search').tooltip().tooltip('close');
|
||||
|
||||
window.search.lastSearch = new window.search.Query(term, confirmed);
|
||||
|
@ -268,15 +268,13 @@ public class IITC_Mobile extends Activity
|
||||
}
|
||||
|
||||
if (Intent.ACTION_SEARCH.equals(action)) {
|
||||
String query = intent.getStringExtra(SearchManager.QUERY);
|
||||
query = query.replace("'", "''");
|
||||
final SearchView searchView =
|
||||
(SearchView) mSearchMenuItem.getActionView();
|
||||
final String query = intent.getStringExtra(SearchManager.QUERY);
|
||||
final SearchView searchView = (SearchView) mSearchMenuItem.getActionView();
|
||||
searchView.setQuery(query, false);
|
||||
searchView.clearFocus();
|
||||
|
||||
switchToPane(Pane.MAP);
|
||||
mIitcWebView.loadUrl("javascript:if(window.search&&window.search.doSearch){window.search.doSearch('" + query + "',true);window.show('info')}");
|
||||
search(query, true);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -285,6 +283,14 @@ public class IITC_Mobile extends Activity
|
||||
}
|
||||
}
|
||||
|
||||
private void search(String term, final boolean confirmed) {
|
||||
if (term.isEmpty() && !confirmed) return;
|
||||
|
||||
term = term.replace("'", "\\'");
|
||||
mIitcWebView.loadUrl("javascript:if(window.search&&window.search.doSearch){window.search.doSearch('" + term
|
||||
+ "'," + confirmed + ");}");
|
||||
}
|
||||
|
||||
private void handleGeoUri(final Uri uri) throws URISyntaxException {
|
||||
final String[] parts = uri.getSchemeSpecificPart().split("\\?", 2);
|
||||
Double lat = null, lon = null;
|
||||
@ -344,8 +350,7 @@ public class IITC_Mobile extends Activity
|
||||
mSearchTerm = search;
|
||||
loadUrl(mIntelUrl);
|
||||
} else {
|
||||
switchToPane(Pane.MAP);
|
||||
mIitcWebView.loadUrl("javascript:search('" + search + "');");
|
||||
search(search, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -507,9 +512,43 @@ public class IITC_Mobile extends Activity
|
||||
// Assumes current activity is the searchable activity
|
||||
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
|
||||
searchView.setIconifiedByDefault(false); // Do not iconify the widget; expand it by default
|
||||
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
||||
@Override
|
||||
public boolean onQueryTextSubmit(final String query) {
|
||||
search(query, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onQueryTextChange(final String query) {
|
||||
search(query, false);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
// the SearchView does not allow submitting an empty query, so we catch the clear button
|
||||
final View buttonClear = searchView.findViewById(
|
||||
getResources().getIdentifier("android:id/search_close_btn", null, null));
|
||||
if (buttonClear != null) buttonClear.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(final View v) {
|
||||
searchView.setQuery("", false);
|
||||
search("", true);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyDown(final int keyCode, final KeyEvent event) {
|
||||
if (keyCode == KeyEvent.KEYCODE_SEARCH) {
|
||||
mSearchMenuItem.expandActionView();
|
||||
mSearchMenuItem.getActionView().requestFocus();
|
||||
return true;
|
||||
}
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(final Menu menu) {
|
||||
boolean visible = false;
|
||||
@ -731,8 +770,7 @@ public class IITC_Mobile extends Activity
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// switchToPane(Pane.MAP);
|
||||
mIitcWebView.loadUrl("javascript:search('" + mSearchTerm + "');");
|
||||
search(mSearchTerm, true);
|
||||
mSearchTerm = null;
|
||||
}
|
||||
}, 5000);
|
||||
|
Loading…
x
Reference in New Issue
Block a user