Replace HashMap with a data class for search results

This commit is contained in:
Aditya-Sood 2019-10-24 00:49:45 +05:30
parent de0b295d3b
commit 24969014ce
2 changed files with 8 additions and 9 deletions

View File

@ -26,13 +26,13 @@ import android.widget.Filter;
import android.widget.Filterable; import android.widget.Filterable;
import android.widget.TextView; import android.widget.TextView;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import org.kiwix.kiwixlib.JNIKiwix; import org.kiwix.kiwixlib.JNIKiwix;
import org.kiwix.kiwixlib.JNIKiwixSearcher; import org.kiwix.kiwixlib.JNIKiwixSearcher;
import org.kiwix.kiwixmobile.KiwixApplication; import org.kiwix.kiwixmobile.KiwixApplication;
import org.kiwix.kiwixmobile.utils.SharedPreferenceUtil; import org.kiwix.kiwixmobile.utils.SharedPreferenceUtil;
import org.kiwix.kiwixmobile.zim_manager.NextSuggestion;
import org.kiwix.kiwixmobile.zim_manager.ZimReaderContainer; import org.kiwix.kiwixmobile.zim_manager.ZimReaderContainer;
public class AutoCompleteAdapter extends ArrayAdapter<String> implements Filterable { public class AutoCompleteAdapter extends ArrayAdapter<String> implements Filterable {
@ -118,11 +118,11 @@ public class AutoCompleteAdapter extends ArrayAdapter<String> implements Filtera
zimReaderContainer.searchSuggestions(query, 200); zimReaderContainer.searchSuggestions(query, 200);
String suggestion; String suggestion;
String suggestionUrl; String suggestionUrl;
HashMap<String, String> results; NextSuggestion results;
List<String> alreadyAdded = new ArrayList<>(); List<String> alreadyAdded = new ArrayList<>();
while ((results = zimReaderContainer.getNextSuggestion()) != null) { while ((results = zimReaderContainer.getNextSuggestion()) != null) {
suggestion = results.get("title"); suggestion = results.getTitle();
suggestionUrl = results.get("url"); suggestionUrl = results.getUrl();
if (!alreadyAdded.contains(suggestionUrl)) { if (!alreadyAdded.contains(suggestionUrl)) {
alreadyAdded.add(suggestionUrl); alreadyAdded.add(suggestionUrl);

View File

@ -90,14 +90,11 @@ class ZimFileReader(
fun searchSuggestions(prefix: String, count: Int) = fun searchSuggestions(prefix: String, count: Int) =
jniKiwixReader.searchSuggestions(prefix, count) jniKiwixReader.searchSuggestions(prefix, count)
fun getNextSuggestion(): HashMap<String, String>? { fun getNextSuggestion(): NextSuggestion? {
val title = JNIKiwixString() val title = JNIKiwixString()
val url = JNIKiwixString() val url = JNIKiwixString()
if (jniKiwixReader.getNextSuggestion(title, url)) { if (jniKiwixReader.getNextSuggestion(title, url)) {
val results = HashMap<String, String>() return NextSuggestion(title.value, url.value)
results.put("title", title.value)
results.put("url", url.value)
return results
} else { } else {
return null return null
} }
@ -248,3 +245,5 @@ private val String.mimeType: String?
get() = MimeTypeMap.getSingleton().getMimeTypeFromExtension( get() = MimeTypeMap.getSingleton().getMimeTypeFromExtension(
MimeTypeMap.getFileExtensionFromUrl(this) MimeTypeMap.getFileExtensionFromUrl(this)
) )
data class NextSuggestion(val title: String, val url: String)