Auto expand on folder search

This commit is contained in:
M66B
2020-02-05 13:37:36 +01:00
parent 9c9cadfbd6
commit 377956046b
2 changed files with 64 additions and 18 deletions

View File

@@ -23,7 +23,6 @@ import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
@@ -87,9 +86,18 @@ public class FragmentDialogFolder extends FragmentDialogBase {
public void onTextChanged(CharSequence s, int start, int before, int count) {
result = 0;
String query = s.toString().toLowerCase();
int pos = adapter.search(query, result);
llm.scrollToPositionWithOffset(pos, 0);
ibNext.setEnabled(!TextUtils.isEmpty(query));
adapter.search(query, result, new AdapterFolder.ISearchResult() {
@Override
public void onFound(int pos, boolean hasNext) {
ibNext.setEnabled(hasNext);
llm.scrollToPositionWithOffset(pos, 0);
}
@Override
public void onNotFound() {
ibNext.setEnabled(false);
}
});
}
@Override
@@ -103,10 +111,18 @@ public class FragmentDialogFolder extends FragmentDialogBase {
public void onClick(View v) {
result++;
String query = etSearch.getText().toString();
int pos = adapter.search(query, result);
llm.scrollToPositionWithOffset(pos, 0);
if (pos == adapter.search(query, result + 1))
result = 0;
adapter.search(query, result, new AdapterFolder.ISearchResult() {
@Override
public void onFound(int pos, boolean hasNext) {
ibNext.setEnabled(hasNext);
llm.scrollToPositionWithOffset(pos, 0);
}
@Override
public void onNotFound() {
ibNext.setEnabled(false);
}
});
}
});