Android full text search works with split ZIM files #269

This commit is contained in:
mhutti1 2016-08-30 20:49:01 +01:00
parent 1eecb29471
commit 95884d8cbd
2 changed files with 11 additions and 2 deletions

View File

@ -13,6 +13,7 @@ FIXED: Failing he, id, yi locales
FIXED: Non-localised setting language list sorting
FIXED: Multiple search history problems
FIXED: Crashes with 'Twillight' app
FIXED: Full text search with split ZIM files
1.99
FIXED: ZIM load error on ICS

View File

@ -78,6 +78,14 @@ public class AutoCompleteAdapter extends ArrayAdapter<String> implements Filtera
data.add("A/" + toAdd + ".html");
}
public String getDbName(String file){
String name = file;
if (!name.substring(name.length() - 3).equals("zim")){
name = name.substring(0, name.length() - 2);
}
return name + ".idk";
}
@Override
protected FilterResults performFiltering(CharSequence constraint) {
FilterResults filterResults = new FilterResults();
@ -86,10 +94,10 @@ public class AutoCompleteAdapter extends ArrayAdapter<String> implements Filtera
try {
final String prefix = constraint.toString();
String qStr = capitalizeQuery(prefix);
String[] result = JNIKiwix.indexedQuery(ZimContentProvider.getZimFile() + ".idx", qStr).split("\n");
String[] result = JNIKiwix.indexedQuery(getDbName(ZimContentProvider.getZimFile()), qStr).split("\n");
if (result.length == 1 && result[0].trim().isEmpty()) {
result = JNIKiwix.indexedQueryPartial(ZimContentProvider.getZimFile() + ".idx", qStr).split("\n");
result = JNIKiwix.indexedQueryPartial(getDbName(ZimContentProvider.getZimFile()), qStr).split("\n");
}
if (hasNonEmptyResult(result)) {