[app] Fix crash in searching (#554)

Fix #553
This commit is contained in:
tehcneko 2021-05-09 09:01:57 +08:00 committed by GitHub
parent f6fb7f6ea2
commit 3f93a17184
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 13 deletions

View File

@ -58,6 +58,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.SearchView;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.request.target.CustomTarget;
@ -614,6 +615,22 @@ public class ScopeAdapter extends RecyclerView.Adapter<ScopeAdapter.ViewHolder>
}
}
public SearchView.OnQueryTextListener getSearchListener() {
return new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
refresh(false);
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
refresh(false);
return true;
}
};
}
public boolean onBackPressed() {
if (!refreshing && activity.binding.masterSwitch.isChecked() && checkedList.isEmpty()) {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);

View File

@ -86,19 +86,7 @@ public class AppListActivity extends BaseActivity {
RecyclerViewKt.fixEdgeEffect(binding.recyclerView, false, true);
binding.swipeRefreshLayout.setOnRefreshListener(() -> scopeAdapter.refresh(true));
searchListener = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
scopeAdapter.getFilter().filter(query);
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
scopeAdapter.getFilter().filter(newText);
return false;
}
};
searchListener = scopeAdapter.getSearchListener();
backupLauncher = registerForActivityResult(new ActivityResultContracts.CreateDocument(),
uri -> {