mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-24 05:04:50 -04:00
Replace HashMap with a data class for search results
This commit is contained in:
parent
de0b295d3b
commit
24969014ce
@ -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);
|
||||||
|
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user