add new criteria for apps shown in Latest tab
This adds requirements before an app is shown on the Latest tab. It must have all of these: * name * summary * description * license * What's New entry * at least some text localized And then it must have at least one of these: * screenshots * feature graphic
This commit is contained in:
parent
dcb1c3accd
commit
3862f941e6
@ -23,12 +23,13 @@ import org.fdroid.fdroid.UpdateService;
|
|||||||
import org.fdroid.fdroid.Utils;
|
import org.fdroid.fdroid.Utils;
|
||||||
import org.fdroid.fdroid.data.AppProvider;
|
import org.fdroid.fdroid.data.AppProvider;
|
||||||
import org.fdroid.fdroid.data.RepoProvider;
|
import org.fdroid.fdroid.data.RepoProvider;
|
||||||
import org.fdroid.fdroid.data.Schema;
|
import org.fdroid.fdroid.data.Schema.AppMetadataTable;
|
||||||
import org.fdroid.fdroid.views.apps.AppListActivity;
|
import org.fdroid.fdroid.views.apps.AppListActivity;
|
||||||
import org.fdroid.fdroid.views.hiding.HidingManager;
|
import org.fdroid.fdroid.views.hiding.HidingManager;
|
||||||
import org.fdroid.fdroid.views.whatsnew.WhatsNewAdapter;
|
import org.fdroid.fdroid.views.whatsnew.WhatsNewAdapter;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads a list of newly added or recently updated apps and displays them to the user.
|
* Loads a list of newly added or recently updated apps and displays them to the user.
|
||||||
@ -100,11 +101,31 @@ class WhatsNewViewBinder implements LoaderManager.LoaderCallbacks<Cursor> {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// select that have all required items:
|
||||||
|
String selection = "(" + AppMetadataTable.NAME + "." + AppMetadataTable.Cols.NAME + " != ''"
|
||||||
|
+ " AND " + AppMetadataTable.NAME + "." + AppMetadataTable.Cols.SUMMARY + " != ''"
|
||||||
|
+ " AND " + AppMetadataTable.NAME + "." + AppMetadataTable.Cols.DESCRIPTION + " != ''"
|
||||||
|
+ " AND " + AppMetadataTable.NAME + "." + AppMetadataTable.Cols.LICENSE + " != ''"
|
||||||
|
+ " AND " + AppMetadataTable.NAME + "." + AppMetadataTable.Cols.WHATSNEW + " != ''";
|
||||||
|
if (!"en".equals(Locale.getDefault().getLanguage())) {
|
||||||
|
// only require localization if using a non-English locale
|
||||||
|
selection += " AND " + AppMetadataTable.NAME + "." + AppMetadataTable.Cols.IS_LOCALIZED + " = 1";
|
||||||
|
}
|
||||||
|
// and at least one optional item:
|
||||||
|
selection += ") AND ("
|
||||||
|
+ AppMetadataTable.NAME + "." + AppMetadataTable.Cols.SEVEN_INCH_SCREENSHOTS + " IS NOT NULL "
|
||||||
|
+ " OR " + AppMetadataTable.NAME + "." + AppMetadataTable.Cols.PHONE_SCREENSHOTS + " IS NOT NULL "
|
||||||
|
+ " OR " + AppMetadataTable.NAME + "." + AppMetadataTable.Cols.TEN_INCH_SCREENSHOTS + " IS NOT NULL "
|
||||||
|
+ " OR " + AppMetadataTable.NAME + "." + AppMetadataTable.Cols.TV_SCREENSHOTS + " IS NOT NULL "
|
||||||
|
+ " OR " + AppMetadataTable.NAME + "." + AppMetadataTable.Cols.WEAR_SCREENSHOTS + " IS NOT NULL "
|
||||||
|
+ " OR " + AppMetadataTable.NAME + "." + AppMetadataTable.Cols.FEATURE_GRAPHIC + " IS NOT NULL "
|
||||||
|
+ ")";
|
||||||
|
|
||||||
return new CursorLoader(
|
return new CursorLoader(
|
||||||
activity,
|
activity,
|
||||||
AppProvider.getRecentlyUpdatedUri(),
|
AppProvider.getRecentlyUpdatedUri(),
|
||||||
Schema.AppMetadataTable.Cols.ALL,
|
AppMetadataTable.Cols.ALL,
|
||||||
null,
|
selection,
|
||||||
null,
|
null,
|
||||||
null
|
null
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user