discord-jadx/app/src/main/java/androidx/cursoradapter/widget/CursorFilter.java

50 lines
1.6 KiB
Java

package androidx.cursoradapter.widget;
import android.database.Cursor;
import android.widget.Filter;
public class CursorFilter extends Filter {
public CursorFilterClient mClient;
public interface CursorFilterClient {
void changeCursor(Cursor cursor);
CharSequence convertToString(Cursor cursor);
Cursor getCursor();
Cursor runQueryOnBackgroundThread(CharSequence charSequence);
}
public CursorFilter(CursorFilterClient cursorFilterClient) {
this.mClient = cursorFilterClient;
}
@Override // android.widget.Filter
public CharSequence convertResultToString(Object obj) {
return this.mClient.convertToString((Cursor) obj);
}
@Override // android.widget.Filter
public Filter.FilterResults performFiltering(CharSequence charSequence) {
Cursor runQueryOnBackgroundThread = this.mClient.runQueryOnBackgroundThread(charSequence);
Filter.FilterResults filterResults = new Filter.FilterResults();
if (runQueryOnBackgroundThread != null) {
filterResults.count = runQueryOnBackgroundThread.getCount();
filterResults.values = runQueryOnBackgroundThread;
} else {
filterResults.count = 0;
filterResults.values = null;
}
return filterResults;
}
@Override // android.widget.Filter
public void publishResults(CharSequence charSequence, Filter.FilterResults filterResults) {
Cursor cursor = this.mClient.getCursor();
Object obj = filterResults.values;
if (obj != null && obj != cursor) {
this.mClient.changeCursor((Cursor) obj);
}
}
}