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.Schema.InstalledAppTable;
 | 
			
		||||
import org.fdroid.fdroid.localrepo.LocalRepoService;
 | 
			
		||||
import org.fdroid.fdroid.localrepo.SwapService;
 | 
			
		||||
import org.fdroid.fdroid.localrepo.SwapView;
 | 
			
		||||
 | 
			
		||||
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);
 | 
			
		||||
        adapter = new AppListAdapter(listView, getContext(),
 | 
			
		||||
                getContext().getContentResolver().query(InstalledAppProvider.getContentUri(),
 | 
			
		||||
                        InstalledAppTable.Cols.ALL, null, null, null));
 | 
			
		||||
                        null, null, null, null));
 | 
			
		||||
 | 
			
		||||
        listView.setAdapter(adapter);
 | 
			
		||||
        listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
 | 
			
		||||
@ -97,13 +96,7 @@ public class SelectAppsView extends SwapView implements LoaderManager.LoaderCall
 | 
			
		||||
        } else {
 | 
			
		||||
            uri = InstalledAppProvider.getSearchUri(currentFilterString);
 | 
			
		||||
        }
 | 
			
		||||
        return new CursorLoader(
 | 
			
		||||
                getActivity(),
 | 
			
		||||
                uri,
 | 
			
		||||
                InstalledAppTable.Cols.ALL,
 | 
			
		||||
                null,
 | 
			
		||||
                null,
 | 
			
		||||
                InstalledAppTable.Cols.APPLICATION_LABEL);
 | 
			
		||||
        return new CursorLoader(getActivity(), uri, null, null, null, null);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 | 
			
		||||
@ -37,8 +37,7 @@ public class InstalledAppProvider extends FDroidProvider {
 | 
			
		||||
            Map<String, Long> cachedInfo = new HashMap<>();
 | 
			
		||||
 | 
			
		||||
            final Uri uri = InstalledAppProvider.getContentUri();
 | 
			
		||||
            final String[] projection = Cols.ALL;
 | 
			
		||||
            Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null);
 | 
			
		||||
            Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
 | 
			
		||||
            if (cursor != null) {
 | 
			
		||||
                if (cursor.getCount() > 0) {
 | 
			
		||||
                    cursor.moveToFirst();
 | 
			
		||||
@ -58,7 +57,7 @@ public class InstalledAppProvider extends FDroidProvider {
 | 
			
		||||
 | 
			
		||||
        @Nullable
 | 
			
		||||
        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) {
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
@ -249,9 +248,10 @@ public class InstalledAppProvider extends FDroidProvider {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        QueryBuilder query = new QueryBuilder();
 | 
			
		||||
        query.addFields(projection);
 | 
			
		||||
        if (projection.length == 0) {
 | 
			
		||||
            query.addField(Cols._ID);
 | 
			
		||||
        if (projection == null || projection.length == 0) {
 | 
			
		||||
            query.addFields(Cols.ALL);
 | 
			
		||||
        } else {
 | 
			
		||||
            query.addFields(projection);
 | 
			
		||||
        }
 | 
			
		||||
        query.addSelection(selection);
 | 
			
		||||
        query.addOrderBy(sortOrder);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user