InstalledAppProvider: use Android sematics for query methods
Throughout Android, a null projection means return the full record. This is well documented. Also, null sortOrder means use default sort order.
This commit is contained in:
parent
4c352aeadc
commit
89140d5334
@ -30,7 +30,6 @@ import org.fdroid.fdroid.R;
|
|||||||
import org.fdroid.fdroid.data.InstalledAppProvider;
|
import org.fdroid.fdroid.data.InstalledAppProvider;
|
||||||
import org.fdroid.fdroid.data.Schema.InstalledAppTable;
|
import org.fdroid.fdroid.data.Schema.InstalledAppTable;
|
||||||
import org.fdroid.fdroid.localrepo.LocalRepoService;
|
import org.fdroid.fdroid.localrepo.LocalRepoService;
|
||||||
import org.fdroid.fdroid.localrepo.SwapService;
|
|
||||||
import org.fdroid.fdroid.localrepo.SwapView;
|
import org.fdroid.fdroid.localrepo.SwapView;
|
||||||
|
|
||||||
public class SelectAppsView extends SwapView implements LoaderManager.LoaderCallbacks<Cursor> {
|
public class SelectAppsView extends SwapView implements LoaderManager.LoaderCallbacks<Cursor> {
|
||||||
@ -61,7 +60,7 @@ public class SelectAppsView extends SwapView implements LoaderManager.LoaderCall
|
|||||||
listView = findViewById(R.id.list);
|
listView = findViewById(R.id.list);
|
||||||
adapter = new AppListAdapter(listView, getContext(),
|
adapter = new AppListAdapter(listView, getContext(),
|
||||||
getContext().getContentResolver().query(InstalledAppProvider.getContentUri(),
|
getContext().getContentResolver().query(InstalledAppProvider.getContentUri(),
|
||||||
InstalledAppTable.Cols.ALL, null, null, null));
|
null, null, null, null));
|
||||||
|
|
||||||
listView.setAdapter(adapter);
|
listView.setAdapter(adapter);
|
||||||
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
|
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
|
||||||
@ -97,13 +96,7 @@ public class SelectAppsView extends SwapView implements LoaderManager.LoaderCall
|
|||||||
} else {
|
} else {
|
||||||
uri = InstalledAppProvider.getSearchUri(currentFilterString);
|
uri = InstalledAppProvider.getSearchUri(currentFilterString);
|
||||||
}
|
}
|
||||||
return new CursorLoader(
|
return new CursorLoader(getActivity(), uri, null, null, null, null);
|
||||||
getActivity(),
|
|
||||||
uri,
|
|
||||||
InstalledAppTable.Cols.ALL,
|
|
||||||
null,
|
|
||||||
null,
|
|
||||||
InstalledAppTable.Cols.APPLICATION_LABEL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -37,8 +37,7 @@ public class InstalledAppProvider extends FDroidProvider {
|
|||||||
Map<String, Long> cachedInfo = new HashMap<>();
|
Map<String, Long> cachedInfo = new HashMap<>();
|
||||||
|
|
||||||
final Uri uri = InstalledAppProvider.getContentUri();
|
final Uri uri = InstalledAppProvider.getContentUri();
|
||||||
final String[] projection = Cols.ALL;
|
Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
|
||||||
Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null);
|
|
||||||
if (cursor != null) {
|
if (cursor != null) {
|
||||||
if (cursor.getCount() > 0) {
|
if (cursor.getCount() > 0) {
|
||||||
cursor.moveToFirst();
|
cursor.moveToFirst();
|
||||||
@ -58,7 +57,7 @@ public class InstalledAppProvider extends FDroidProvider {
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public static InstalledApp findByPackageName(Context context, String packageName) {
|
public static InstalledApp findByPackageName(Context context, String packageName) {
|
||||||
Cursor cursor = context.getContentResolver().query(getAppUri(packageName), Cols.ALL, null, null, null);
|
Cursor cursor = context.getContentResolver().query(getAppUri(packageName), null, null, null, null);
|
||||||
if (cursor == null) {
|
if (cursor == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -249,9 +248,10 @@ public class InstalledAppProvider extends FDroidProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QueryBuilder query = new QueryBuilder();
|
QueryBuilder query = new QueryBuilder();
|
||||||
query.addFields(projection);
|
if (projection == null || projection.length == 0) {
|
||||||
if (projection.length == 0) {
|
query.addFields(Cols.ALL);
|
||||||
query.addField(Cols._ID);
|
} else {
|
||||||
|
query.addFields(projection);
|
||||||
}
|
}
|
||||||
query.addSelection(selection);
|
query.addSelection(selection);
|
||||||
query.addOrderBy(sortOrder);
|
query.addOrderBy(sortOrder);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user