Fix 'Number of apps' sql exception in repo details.
This commit is contained in:
parent
568224ba78
commit
87f2da7e2f
@ -100,6 +100,8 @@ public class ApkProvider extends FDroidProvider {
|
|||||||
|
|
||||||
public interface DataColumns extends BaseColumns {
|
public interface DataColumns extends BaseColumns {
|
||||||
|
|
||||||
|
public static String _COUNT_DISTINCT_ID = "countDistinct";
|
||||||
|
|
||||||
public static String APK_ID = "id";
|
public static String APK_ID = "id";
|
||||||
public static String VERSION = "version";
|
public static String VERSION = "version";
|
||||||
public static String REPO_ID = "repo";
|
public static String REPO_ID = "repo";
|
||||||
@ -238,6 +240,8 @@ public class ApkProvider extends FDroidProvider {
|
|||||||
appendField("rowid", "apk", "_id");
|
appendField("rowid", "apk", "_id");
|
||||||
} else if (field.equals(DataColumns._COUNT)) {
|
} else if (field.equals(DataColumns._COUNT)) {
|
||||||
appendField("COUNT(*) AS " + DataColumns._COUNT);
|
appendField("COUNT(*) AS " + DataColumns._COUNT);
|
||||||
|
} else if (field.equals(DataColumns._COUNT_DISTINCT_ID)) {
|
||||||
|
appendField("COUNT(DISTINCT apk.id) AS " + DataColumns._COUNT_DISTINCT_ID);
|
||||||
} else {
|
} else {
|
||||||
appendField(field, "apk");
|
appendField(field, "apk");
|
||||||
}
|
}
|
||||||
|
@ -174,11 +174,9 @@ public class RepoProvider extends FDroidProvider {
|
|||||||
|
|
||||||
public static int countAppsForRepo(Context context, long repoId) {
|
public static int countAppsForRepo(Context context, long repoId) {
|
||||||
ContentResolver resolver = context.getContentResolver();
|
ContentResolver resolver = context.getContentResolver();
|
||||||
String[] projection = { "COUNT(distinct id)" };
|
String[] projection = { ApkProvider.DataColumns._COUNT_DISTINCT_ID };
|
||||||
String selection = "repo = ?";
|
Uri apkUri = ApkProvider.getRepoUri(repoId);
|
||||||
String[] args = { Long.toString(repoId) };
|
Cursor result = resolver.query(apkUri, projection, null, null, null);
|
||||||
Uri apkUri = ApkProvider.getContentUri();
|
|
||||||
Cursor result = resolver.query(apkUri, projection, selection, args, null);
|
|
||||||
if (result != null && result.getCount() > 0) {
|
if (result != null && result.getCount() > 0) {
|
||||||
result.moveToFirst();
|
result.moveToFirst();
|
||||||
return result.getInt(0);
|
return result.getInt(0);
|
||||||
@ -189,6 +187,7 @@ public class RepoProvider extends FDroidProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public interface DataColumns extends BaseColumns {
|
public interface DataColumns extends BaseColumns {
|
||||||
|
|
||||||
public static String ADDRESS = "address";
|
public static String ADDRESS = "address";
|
||||||
public static String NAME = "name";
|
public static String NAME = "name";
|
||||||
public static String DESCRIPTION = "description";
|
public static String DESCRIPTION = "description";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user