diff --git a/CHANGELOG b/CHANGELOG index db795c713..44ff3f4ed 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -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 diff --git a/src/org/kiwix/kiwixmobile/views/AutoCompleteAdapter.java b/src/org/kiwix/kiwixmobile/views/AutoCompleteAdapter.java index 8396a4d29..b7085b736 100644 --- a/src/org/kiwix/kiwixmobile/views/AutoCompleteAdapter.java +++ b/src/org/kiwix/kiwixmobile/views/AutoCompleteAdapter.java @@ -78,6 +78,14 @@ public class AutoCompleteAdapter extends ArrayAdapter 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 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)) {