Skip to content

Commit d1a0ee0

Browse files
author
in dow
committed
Merge pull request #168 from indication/fix_search
Fix search
2 parents 2a1a6ed + 6d82d3d commit d1a0ee0

File tree

5 files changed

+51
-4
lines changed

5 files changed

+51
-4
lines changed

OpenRedmine/src/main/java/jp/redmine/redmineclient/adapter/WikiListAdapter.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,19 @@ protected QueryBuilder<RedmineWiki, Long> getQueryBuilder() throws SQLException
5959
;
6060
return builder;
6161
}
62+
@Override
63+
protected QueryBuilder<RedmineWiki, Long> getSearchQueryBuilder(String search) throws SQLException {
64+
QueryBuilder<RedmineWiki, Long> builder = getQueryBuilder();
65+
builder.where()
66+
.like(RedmineWiki.TITLE, "%"+search+"%")
67+
.and()
68+
.eq(RedmineWiki.CONNECTION, connection_id)
69+
.and()
70+
.eq(RedmineWiki.PROJECT_ID, project_id)
71+
;
72+
builder.orderBy(RedmineWiki.TITLE, true);
73+
return builder;
74+
}
6275

6376
@Override
6477
protected long getDbItemId(RedmineWiki item) {

OpenRedmine/src/main/java/jp/redmine/redmineclient/entity/RedmineProject.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class RedmineProject
1616
public final static String ID = "id";
1717
public final static String CONNECTION = RedmineConnection.CONNECTION_ID;
1818
public final static String PROJECT_ID = "project_id";
19-
public final static String NAME = "kind";
19+
public final static String NAME = "name";
2020
public final static String FAVORITE = "favorite";
2121

2222
@DatabaseField(generatedId = true)

OpenRedmine/src/main/java/jp/redmine/redmineclient/fragment/ProjectList.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,6 @@ protected void onPreExecute() {
180180
@Override
181181
protected void onPostExecute(Void b) {
182182
mFooter.setVisibility(View.GONE);
183-
adapter.notifyDataSetInvalidated();
184183
adapter.notifyDataSetChanged();
185184
if(menu_refresh != null)
186185
menu_refresh.setEnabled(true);

OpenRedmine/src/main/java/jp/redmine/redmineclient/fragment/WikiList.java

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
package jp.redmine.redmineclient.fragment;
22

3+
import android.annotation.TargetApi;
34
import android.app.Activity;
45
import android.os.AsyncTask;
6+
import android.os.Build;
57
import android.os.Bundle;
8+
import android.support.v4.widget.ListFragmentSwipeRefreshLayout;
69
import android.support.v4.widget.SwipeRefreshLayout;
10+
import android.support.v7.widget.SearchView;
11+
import android.text.TextUtils;
712
import android.view.LayoutInflater;
813
import android.view.Menu;
914
import android.view.MenuInflater;
@@ -12,7 +17,6 @@
1217
import android.view.ViewGroup;
1318
import android.widget.ListView;
1419

15-
import android.support.v4.widget.ListFragmentSwipeRefreshLayout;
1620
import com.j256.ormlite.android.apptools.OrmLiteListFragment;
1721

1822
import jp.redmine.redmineclient.R;
@@ -75,6 +79,7 @@ public void onActivityCreated(Bundle savedInstanceState) {
7579
super.onActivityCreated(savedInstanceState);
7680

7781
getListView().setFastScrollEnabled(true);
82+
getListView().setTextFilterEnabled(true);
7883

7984
adapter = new WikiListAdapter(getHelper(), getActivity());
8085
ProjectArgument intent = new ProjectArgument();
@@ -173,6 +178,7 @@ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
173178
menu_refresh = menu.findItem(R.id.menu_refresh);
174179
if(task != null && task.getStatus() == AsyncTask.Status.RUNNING)
175180
menu_refresh.setEnabled(false);
181+
setupSearchBar(menu);
176182
super.onCreateOptionsMenu(menu, inflater);
177183
}
178184

@@ -189,4 +195,32 @@ public boolean onOptionsItemSelected(MenuItem item)
189195
}
190196
return super.onOptionsItemSelected(item);
191197
}
198+
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
199+
protected void setupSearchBar(Menu menu){
200+
201+
SearchView search = new SearchView(getActivity());
202+
search.setIconifiedByDefault(false);
203+
search.setSubmitButtonEnabled(true);
204+
search.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
205+
@Override
206+
public boolean onQueryTextSubmit(String s) {
207+
return onQueryTextChange(s);
208+
}
209+
210+
@Override
211+
public boolean onQueryTextChange(String s) {
212+
if (TextUtils.isEmpty(s)) {
213+
getListView().clearTextFilter();
214+
} else {
215+
getListView().setFilterText(s);
216+
}
217+
return true;
218+
}
219+
});
220+
menu.add(android.R.string.search_go)
221+
.setIcon(android.R.drawable.ic_menu_search)
222+
.setActionView(search)
223+
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW)
224+
;
225+
}
192226
}

OpenRedmine/src/main/res/raw/version.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ TODO
99

1010
Next Release
1111
===========
12-
12+
- Fix search on project list
13+
- Add search on wiki list
1314

1415
v3.16 - 49 - 2015/11/18
1516
===========

0 commit comments

Comments
 (0)