Extracted InstalledAppProvider.DataColumns to Schema.InstalledAppTable.Cols
This commit is contained in:
parent
d1ceb84af4
commit
6fb23d2efa
@ -16,6 +16,7 @@ import org.fdroid.fdroid.Utils;
|
||||
import org.fdroid.fdroid.data.Schema.ApkTable;
|
||||
import org.fdroid.fdroid.data.Schema.AppTable;
|
||||
import org.fdroid.fdroid.data.Schema.AppTable.Cols;
|
||||
import org.fdroid.fdroid.data.Schema.InstalledAppTable;
|
||||
import org.fdroid.fdroid.data.Schema.RepoTable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -275,7 +276,7 @@ public class AppProvider extends FDroidProvider {
|
||||
join(
|
||||
DBHelper.TABLE_INSTALLED_APP,
|
||||
"installed",
|
||||
"installed." + InstalledAppProvider.DataColumns.PACKAGE_NAME + " = " + getTableName() + ".id");
|
||||
"installed." + InstalledAppTable.Cols.PACKAGE_NAME + " = " + getTableName() + ".id");
|
||||
requiresInstalledTable = true;
|
||||
}
|
||||
}
|
||||
@ -285,7 +286,7 @@ public class AppProvider extends FDroidProvider {
|
||||
leftJoin(
|
||||
DBHelper.TABLE_INSTALLED_APP,
|
||||
"installed",
|
||||
"installed." + InstalledAppProvider.DataColumns.PACKAGE_NAME + " = " + getTableName() + ".id");
|
||||
"installed." + InstalledAppTable.Cols.PACKAGE_NAME + " = " + getTableName() + ".id");
|
||||
requiresInstalledTable = true;
|
||||
}
|
||||
}
|
||||
@ -341,21 +342,21 @@ public class AppProvider extends FDroidProvider {
|
||||
|
||||
private void addInstalledAppVersionName() {
|
||||
addInstalledAppField(
|
||||
InstalledAppProvider.DataColumns.VERSION_NAME,
|
||||
InstalledAppTable.Cols.VERSION_NAME,
|
||||
Cols.InstalledApp.VERSION_NAME
|
||||
);
|
||||
}
|
||||
|
||||
private void addInstalledAppVersionCode() {
|
||||
addInstalledAppField(
|
||||
InstalledAppProvider.DataColumns.VERSION_CODE,
|
||||
InstalledAppTable.Cols.VERSION_CODE,
|
||||
Cols.InstalledApp.VERSION_CODE
|
||||
);
|
||||
}
|
||||
|
||||
private void addInstalledSig() {
|
||||
addInstalledAppField(
|
||||
InstalledAppProvider.DataColumns.SIGNATURE,
|
||||
InstalledAppTable.Cols.SIGNATURE,
|
||||
Cols.InstalledApp.SIGNATURE
|
||||
);
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import org.fdroid.fdroid.R;
|
||||
import org.fdroid.fdroid.Utils;
|
||||
import org.fdroid.fdroid.data.Schema.ApkTable;
|
||||
import org.fdroid.fdroid.data.Schema.AppTable;
|
||||
import org.fdroid.fdroid.data.Schema.InstalledAppTable;
|
||||
import org.fdroid.fdroid.data.Schema.RepoTable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -95,14 +96,14 @@ class DBHelper extends SQLiteOpenHelper {
|
||||
public static final String TABLE_INSTALLED_APP = "fdroid_installedApp";
|
||||
private static final String CREATE_TABLE_INSTALLED_APP = "CREATE TABLE " + TABLE_INSTALLED_APP
|
||||
+ " ( "
|
||||
+ InstalledAppProvider.DataColumns.PACKAGE_NAME + " TEXT NOT NULL PRIMARY KEY, "
|
||||
+ InstalledAppProvider.DataColumns.VERSION_CODE + " INT NOT NULL, "
|
||||
+ InstalledAppProvider.DataColumns.VERSION_NAME + " TEXT NOT NULL, "
|
||||
+ InstalledAppProvider.DataColumns.APPLICATION_LABEL + " TEXT NOT NULL, "
|
||||
+ InstalledAppProvider.DataColumns.SIGNATURE + " TEXT NOT NULL, "
|
||||
+ InstalledAppProvider.DataColumns.LAST_UPDATE_TIME + " INTEGER NOT NULL DEFAULT 0, "
|
||||
+ InstalledAppProvider.DataColumns.HASH_TYPE + " TEXT NOT NULL, "
|
||||
+ InstalledAppProvider.DataColumns.HASH + " TEXT NOT NULL"
|
||||
+ InstalledAppTable.Cols.PACKAGE_NAME + " TEXT NOT NULL PRIMARY KEY, "
|
||||
+ InstalledAppTable.Cols.VERSION_CODE + " INT NOT NULL, "
|
||||
+ InstalledAppTable.Cols.VERSION_NAME + " TEXT NOT NULL, "
|
||||
+ InstalledAppTable.Cols.APPLICATION_LABEL + " TEXT NOT NULL, "
|
||||
+ InstalledAppTable.Cols.SIGNATURE + " TEXT NOT NULL, "
|
||||
+ InstalledAppTable.Cols.LAST_UPDATE_TIME + " INTEGER NOT NULL DEFAULT 0, "
|
||||
+ InstalledAppTable.Cols.HASH_TYPE + " TEXT NOT NULL, "
|
||||
+ InstalledAppTable.Cols.HASH + " TEXT NOT NULL"
|
||||
+ " );";
|
||||
private static final String DROP_TABLE_INSTALLED_APP = "DROP TABLE " + TABLE_INSTALLED_APP + ";";
|
||||
|
||||
|
@ -13,6 +13,7 @@ import android.util.Log;
|
||||
|
||||
import org.fdroid.fdroid.R;
|
||||
import org.fdroid.fdroid.Utils;
|
||||
import org.fdroid.fdroid.data.Schema.InstalledAppTable.Cols;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@ -32,15 +33,15 @@ public class InstalledAppProvider extends FDroidProvider {
|
||||
Map<String, Long> cachedInfo = new HashMap<>();
|
||||
|
||||
final Uri uri = InstalledAppProvider.getContentUri();
|
||||
final String[] projection = InstalledAppProvider.DataColumns.ALL;
|
||||
final String[] projection = Cols.ALL;
|
||||
Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null);
|
||||
if (cursor != null) {
|
||||
if (cursor.getCount() > 0) {
|
||||
cursor.moveToFirst();
|
||||
while (!cursor.isAfterLast()) {
|
||||
cachedInfo.put(
|
||||
cursor.getString(cursor.getColumnIndex(InstalledAppProvider.DataColumns.PACKAGE_NAME)),
|
||||
cursor.getLong(cursor.getColumnIndex(DataColumns.LAST_UPDATE_TIME))
|
||||
cursor.getString(cursor.getColumnIndex(Cols.PACKAGE_NAME)),
|
||||
cursor.getLong(cursor.getColumnIndex(Cols.LAST_UPDATE_TIME))
|
||||
);
|
||||
cursor.moveToNext();
|
||||
}
|
||||
@ -53,25 +54,6 @@ public class InstalledAppProvider extends FDroidProvider {
|
||||
|
||||
}
|
||||
|
||||
public interface DataColumns {
|
||||
|
||||
String _ID = "rowid as _id"; // Required for CursorLoaders
|
||||
String PACKAGE_NAME = "appId";
|
||||
String VERSION_CODE = "versionCode";
|
||||
String VERSION_NAME = "versionName";
|
||||
String APPLICATION_LABEL = "applicationLabel";
|
||||
String SIGNATURE = "sig";
|
||||
String LAST_UPDATE_TIME = "lastUpdateTime";
|
||||
String HASH_TYPE = "hashType";
|
||||
String HASH = "hash";
|
||||
|
||||
String[] ALL = {
|
||||
_ID, PACKAGE_NAME, VERSION_CODE, VERSION_NAME, APPLICATION_LABEL,
|
||||
SIGNATURE, LAST_UPDATE_TIME, HASH_TYPE, HASH,
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
private static final String PROVIDER_NAME = "InstalledAppProvider";
|
||||
|
||||
private static final String PATH_SEARCH = "search";
|
||||
@ -146,7 +128,7 @@ public class InstalledAppProvider extends FDroidProvider {
|
||||
@Override
|
||||
public Cursor query(Uri uri, String[] projection, String customSelection, String[] selectionArgs, String sortOrder) {
|
||||
if (sortOrder == null) {
|
||||
sortOrder = DataColumns.APPLICATION_LABEL;
|
||||
sortOrder = Cols.APPLICATION_LABEL;
|
||||
}
|
||||
|
||||
QuerySelection selection = new QuerySelection(customSelection, selectionArgs);
|
||||
@ -195,7 +177,7 @@ public class InstalledAppProvider extends FDroidProvider {
|
||||
|
||||
verifyVersionNameNotNull(values);
|
||||
db().replaceOrThrow(getTableName(), null, values);
|
||||
return getAppUri(values.getAsString(DataColumns.PACKAGE_NAME));
|
||||
return getAppUri(values.getAsString(Cols.PACKAGE_NAME));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -215,8 +197,8 @@ public class InstalledAppProvider extends FDroidProvider {
|
||||
* "versionName" is used.
|
||||
*/
|
||||
private void verifyVersionNameNotNull(ContentValues values) {
|
||||
if (values.containsKey(DataColumns.VERSION_NAME) && values.getAsString(DataColumns.VERSION_NAME) == null) {
|
||||
values.put(DataColumns.VERSION_NAME, getContext().getString(R.string.unknown));
|
||||
if (values.containsKey(Cols.VERSION_NAME) && values.getAsString(Cols.VERSION_NAME) == null) {
|
||||
values.put(Cols.VERSION_NAME, getContext().getString(R.string.unknown));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@ import android.support.annotation.Nullable;
|
||||
|
||||
import org.fdroid.fdroid.Hasher;
|
||||
import org.fdroid.fdroid.Utils;
|
||||
import org.fdroid.fdroid.data.Schema.InstalledAppTable;
|
||||
|
||||
import java.io.File;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
@ -204,16 +205,16 @@ public class InstalledAppProviderService extends IntentService {
|
||||
static void insertAppIntoDb(Context context, PackageInfo packageInfo, String hashType, String hash) {
|
||||
Uri uri = InstalledAppProvider.getContentUri();
|
||||
ContentValues contentValues = new ContentValues();
|
||||
contentValues.put(InstalledAppProvider.DataColumns.PACKAGE_NAME, packageInfo.packageName);
|
||||
contentValues.put(InstalledAppProvider.DataColumns.VERSION_CODE, packageInfo.versionCode);
|
||||
contentValues.put(InstalledAppProvider.DataColumns.VERSION_NAME, packageInfo.versionName);
|
||||
contentValues.put(InstalledAppProvider.DataColumns.APPLICATION_LABEL,
|
||||
contentValues.put(InstalledAppTable.Cols.PACKAGE_NAME, packageInfo.packageName);
|
||||
contentValues.put(InstalledAppTable.Cols.VERSION_CODE, packageInfo.versionCode);
|
||||
contentValues.put(InstalledAppTable.Cols.VERSION_NAME, packageInfo.versionName);
|
||||
contentValues.put(InstalledAppTable.Cols.APPLICATION_LABEL,
|
||||
InstalledAppProvider.getApplicationLabel(context, packageInfo.packageName));
|
||||
contentValues.put(InstalledAppProvider.DataColumns.SIGNATURE, getPackageSig(packageInfo));
|
||||
contentValues.put(InstalledAppProvider.DataColumns.LAST_UPDATE_TIME, packageInfo.lastUpdateTime);
|
||||
contentValues.put(InstalledAppTable.Cols.SIGNATURE, getPackageSig(packageInfo));
|
||||
contentValues.put(InstalledAppTable.Cols.LAST_UPDATE_TIME, packageInfo.lastUpdateTime);
|
||||
|
||||
contentValues.put(InstalledAppProvider.DataColumns.HASH_TYPE, hashType);
|
||||
contentValues.put(InstalledAppProvider.DataColumns.HASH, hash);
|
||||
contentValues.put(InstalledAppTable.Cols.HASH_TYPE, hashType);
|
||||
contentValues.put(InstalledAppTable.Cols.HASH, hash);
|
||||
|
||||
context.getContentResolver().insert(uri, contentValues);
|
||||
}
|
||||
|
@ -143,4 +143,26 @@ public interface Schema {
|
||||
}
|
||||
}
|
||||
|
||||
interface InstalledAppTable {
|
||||
|
||||
String NAME = DBHelper.TABLE_INSTALLED_APP;
|
||||
|
||||
interface Cols {
|
||||
String _ID = "rowid as _id"; // Required for CursorLoaders
|
||||
String PACKAGE_NAME = "appId";
|
||||
String VERSION_CODE = "versionCode";
|
||||
String VERSION_NAME = "versionName";
|
||||
String APPLICATION_LABEL = "applicationLabel";
|
||||
String SIGNATURE = "sig";
|
||||
String LAST_UPDATE_TIME = "lastUpdateTime";
|
||||
String HASH_TYPE = "hashType";
|
||||
String HASH = "hash";
|
||||
|
||||
String[] ALL = {
|
||||
_ID, PACKAGE_NAME, VERSION_CODE, VERSION_NAME, APPLICATION_LABEL,
|
||||
SIGNATURE, LAST_UPDATE_TIME, HASH_TYPE, HASH,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -36,6 +36,7 @@ import android.widget.TextView;
|
||||
|
||||
import org.fdroid.fdroid.R;
|
||||
import org.fdroid.fdroid.data.InstalledAppProvider;
|
||||
import org.fdroid.fdroid.data.Schema.InstalledAppTable;
|
||||
import org.fdroid.fdroid.localrepo.SwapService;
|
||||
|
||||
public class SelectAppsView extends ListView implements
|
||||
@ -77,7 +78,7 @@ public class SelectAppsView extends ListView implements
|
||||
protected void onFinishInflate() {
|
||||
super.onFinishInflate();
|
||||
adapter = new AppListAdapter(this, getContext(),
|
||||
getContext().getContentResolver().query(InstalledAppProvider.getContentUri(), InstalledAppProvider.DataColumns.ALL, null, null, null));
|
||||
getContext().getContentResolver().query(InstalledAppProvider.getContentUri(), InstalledAppTable.Cols.ALL, null, null, null));
|
||||
|
||||
setAdapter(adapter);
|
||||
setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
|
||||
@ -140,7 +141,7 @@ public class SelectAppsView extends ListView implements
|
||||
|
||||
private void toggleAppSelected(int position) {
|
||||
Cursor c = (Cursor) adapter.getItem(position);
|
||||
String packageName = c.getString(c.getColumnIndex(InstalledAppProvider.DataColumns.PACKAGE_NAME));
|
||||
String packageName = c.getString(c.getColumnIndex(InstalledAppTable.Cols.PACKAGE_NAME));
|
||||
if (getState().hasSelectedPackage(packageName)) {
|
||||
getState().deselectPackage(packageName);
|
||||
adapter.updateCheckedIndicatorView(position, false);
|
||||
@ -162,10 +163,10 @@ public class SelectAppsView extends ListView implements
|
||||
return new CursorLoader(
|
||||
getActivity(),
|
||||
uri,
|
||||
InstalledAppProvider.DataColumns.ALL,
|
||||
InstalledAppTable.Cols.ALL,
|
||||
null,
|
||||
null,
|
||||
InstalledAppProvider.DataColumns.APPLICATION_LABEL);
|
||||
InstalledAppTable.Cols.APPLICATION_LABEL);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -174,7 +175,7 @@ public class SelectAppsView extends ListView implements
|
||||
|
||||
for (int i = 0; i < getCount(); i++) {
|
||||
Cursor c = (Cursor) getItemAtPosition(i);
|
||||
String packageName = c.getString(c.getColumnIndex(InstalledAppProvider.DataColumns.PACKAGE_NAME));
|
||||
String packageName = c.getString(c.getColumnIndex(InstalledAppTable.Cols.PACKAGE_NAME));
|
||||
getState().ensureFDroidSelected();
|
||||
for (String selected : getState().getAppsToSwap()) {
|
||||
if (TextUtils.equals(packageName, selected)) {
|
||||
@ -255,8 +256,8 @@ public class SelectAppsView extends ListView implements
|
||||
TextView labelView = (TextView) view.findViewById(R.id.application_label);
|
||||
ImageView iconView = (ImageView) view.findViewById(android.R.id.icon);
|
||||
|
||||
String packageName = cursor.getString(cursor.getColumnIndex(InstalledAppProvider.DataColumns.PACKAGE_NAME));
|
||||
String appLabel = cursor.getString(cursor.getColumnIndex(InstalledAppProvider.DataColumns.APPLICATION_LABEL));
|
||||
String packageName = cursor.getString(cursor.getColumnIndex(InstalledAppTable.Cols.PACKAGE_NAME));
|
||||
String appLabel = cursor.getString(cursor.getColumnIndex(InstalledAppTable.Cols.APPLICATION_LABEL));
|
||||
|
||||
Drawable icon;
|
||||
try {
|
||||
|
@ -11,6 +11,7 @@ import org.fdroid.fdroid.data.AppProvider;
|
||||
import org.fdroid.fdroid.data.InstalledAppProvider;
|
||||
import org.fdroid.fdroid.data.Schema.ApkTable;
|
||||
import org.fdroid.fdroid.data.Schema.AppTable;
|
||||
import org.fdroid.fdroid.data.Schema.InstalledAppTable;
|
||||
import org.robolectric.shadows.ShadowContentResolver;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -154,10 +155,10 @@ public class Assert {
|
||||
Uri uri = InstalledAppProvider.getAppUri(appId);
|
||||
|
||||
String[] projection = {
|
||||
InstalledAppProvider.DataColumns.PACKAGE_NAME,
|
||||
InstalledAppProvider.DataColumns.VERSION_CODE,
|
||||
InstalledAppProvider.DataColumns.VERSION_NAME,
|
||||
InstalledAppProvider.DataColumns.APPLICATION_LABEL,
|
||||
InstalledAppTable.Cols.PACKAGE_NAME,
|
||||
InstalledAppTable.Cols.VERSION_CODE,
|
||||
InstalledAppTable.Cols.VERSION_NAME,
|
||||
InstalledAppTable.Cols.APPLICATION_LABEL,
|
||||
};
|
||||
|
||||
Cursor cursor = resolver.query(uri, projection, null, null, null);
|
||||
@ -167,9 +168,9 @@ public class Assert {
|
||||
|
||||
cursor.moveToFirst();
|
||||
|
||||
assertEquals(appId, cursor.getString(cursor.getColumnIndex(InstalledAppProvider.DataColumns.PACKAGE_NAME)));
|
||||
assertEquals(versionCode, cursor.getInt(cursor.getColumnIndex(InstalledAppProvider.DataColumns.VERSION_CODE)));
|
||||
assertEquals(versionName, cursor.getString(cursor.getColumnIndex(InstalledAppProvider.DataColumns.VERSION_NAME)));
|
||||
assertEquals(appId, cursor.getString(cursor.getColumnIndex(InstalledAppTable.Cols.PACKAGE_NAME)));
|
||||
assertEquals(versionCode, cursor.getInt(cursor.getColumnIndex(InstalledAppTable.Cols.VERSION_CODE)));
|
||||
assertEquals(versionName, cursor.getString(cursor.getColumnIndex(InstalledAppTable.Cols.VERSION_NAME)));
|
||||
cursor.close();
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
|
||||
import org.fdroid.fdroid.BuildConfig;
|
||||
import org.fdroid.fdroid.data.Schema.InstalledAppTable.Cols;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@ -37,32 +38,32 @@ public class InstalledAppProviderTest extends FDroidProviderTest {
|
||||
assertEquals(foundBefore.size(), 0);
|
||||
|
||||
ContentValues values = new ContentValues();
|
||||
values.put(InstalledAppProvider.DataColumns.PACKAGE_NAME, "org.example.test-app");
|
||||
values.put(InstalledAppProvider.DataColumns.APPLICATION_LABEL, "Test App");
|
||||
values.put(InstalledAppProvider.DataColumns.VERSION_CODE, 1021);
|
||||
values.put(InstalledAppProvider.DataColumns.VERSION_NAME, "Longhorn");
|
||||
values.put(InstalledAppProvider.DataColumns.HASH, "has of test app");
|
||||
values.put(InstalledAppProvider.DataColumns.HASH_TYPE, "fake hash type");
|
||||
values.put(InstalledAppProvider.DataColumns.LAST_UPDATE_TIME, 100000000L);
|
||||
values.put(InstalledAppProvider.DataColumns.SIGNATURE, "000111222333444555666777888999aaabbbcccdddeeefff");
|
||||
values.put(Cols.PACKAGE_NAME, "org.example.test-app");
|
||||
values.put(Cols.APPLICATION_LABEL, "Test App");
|
||||
values.put(Cols.VERSION_CODE, 1021);
|
||||
values.put(Cols.VERSION_NAME, "Longhorn");
|
||||
values.put(Cols.HASH, "has of test app");
|
||||
values.put(Cols.HASH_TYPE, "fake hash type");
|
||||
values.put(Cols.LAST_UPDATE_TIME, 100000000L);
|
||||
values.put(Cols.SIGNATURE, "000111222333444555666777888999aaabbbcccdddeeefff");
|
||||
contentResolver.insert(InstalledAppProvider.getContentUri(), values);
|
||||
|
||||
Map<String, Long> foundAfter = InstalledAppProvider.Helper.all(RuntimeEnvironment.application);
|
||||
assertEquals(1, foundAfter.size());
|
||||
assertEquals(100000000L, foundAfter.get("org.example.test-app").longValue());
|
||||
|
||||
Cursor cursor = contentResolver.query(InstalledAppProvider.getAppUri("org.example.test-app"), InstalledAppProvider.DataColumns.ALL, null, null, null);
|
||||
Cursor cursor = contentResolver.query(InstalledAppProvider.getAppUri("org.example.test-app"), Cols.ALL, null, null, null);
|
||||
assertEquals(cursor.getCount(), 1);
|
||||
|
||||
cursor.moveToFirst();
|
||||
assertEquals("org.example.test-app", cursor.getString(cursor.getColumnIndex(InstalledAppProvider.DataColumns.PACKAGE_NAME)));
|
||||
assertEquals("Test App", cursor.getString(cursor.getColumnIndex(InstalledAppProvider.DataColumns.APPLICATION_LABEL)));
|
||||
assertEquals(1021, cursor.getInt(cursor.getColumnIndex(InstalledAppProvider.DataColumns.VERSION_CODE)));
|
||||
assertEquals("Longhorn", cursor.getString(cursor.getColumnIndex(InstalledAppProvider.DataColumns.VERSION_NAME)));
|
||||
assertEquals("has of test app", cursor.getString(cursor.getColumnIndex(InstalledAppProvider.DataColumns.HASH)));
|
||||
assertEquals("fake hash type", cursor.getString(cursor.getColumnIndex(InstalledAppProvider.DataColumns.HASH_TYPE)));
|
||||
assertEquals(100000000L, cursor.getLong(cursor.getColumnIndex(InstalledAppProvider.DataColumns.LAST_UPDATE_TIME)));
|
||||
assertEquals("000111222333444555666777888999aaabbbcccdddeeefff", cursor.getString(cursor.getColumnIndex(InstalledAppProvider.DataColumns.SIGNATURE)));
|
||||
assertEquals("org.example.test-app", cursor.getString(cursor.getColumnIndex(Cols.PACKAGE_NAME)));
|
||||
assertEquals("Test App", cursor.getString(cursor.getColumnIndex(Cols.APPLICATION_LABEL)));
|
||||
assertEquals(1021, cursor.getInt(cursor.getColumnIndex(Cols.VERSION_CODE)));
|
||||
assertEquals("Longhorn", cursor.getString(cursor.getColumnIndex(Cols.VERSION_NAME)));
|
||||
assertEquals("has of test app", cursor.getString(cursor.getColumnIndex(Cols.HASH)));
|
||||
assertEquals("fake hash type", cursor.getString(cursor.getColumnIndex(Cols.HASH_TYPE)));
|
||||
assertEquals(100000000L, cursor.getLong(cursor.getColumnIndex(Cols.LAST_UPDATE_TIME)));
|
||||
assertEquals("000111222333444555666777888999aaabbbcccdddeeefff", cursor.getString(cursor.getColumnIndex(Cols.SIGNATURE)));
|
||||
|
||||
cursor.close();
|
||||
}
|
||||
@ -123,16 +124,16 @@ public class InstalledAppProviderTest extends FDroidProviderTest {
|
||||
Uri uri = InstalledAppProvider.getAppUri(packageName);
|
||||
|
||||
String[] projection = {
|
||||
InstalledAppProvider.DataColumns.PACKAGE_NAME,
|
||||
InstalledAppProvider.DataColumns.LAST_UPDATE_TIME,
|
||||
Cols.PACKAGE_NAME,
|
||||
Cols.LAST_UPDATE_TIME,
|
||||
};
|
||||
|
||||
Cursor cursor = contentResolver.query(uri, projection, null, null, null);
|
||||
assertNotNull(cursor);
|
||||
assertEquals("App \"" + packageName + "\" not installed", 1, cursor.getCount());
|
||||
cursor.moveToFirst();
|
||||
assertEquals(packageName, cursor.getString(cursor.getColumnIndex(InstalledAppProvider.DataColumns.PACKAGE_NAME)));
|
||||
long lastUpdateTime = cursor.getLong(cursor.getColumnIndex(InstalledAppProvider.DataColumns.LAST_UPDATE_TIME));
|
||||
assertEquals(packageName, cursor.getString(cursor.getColumnIndex(Cols.PACKAGE_NAME)));
|
||||
long lastUpdateTime = cursor.getLong(cursor.getColumnIndex(Cols.LAST_UPDATE_TIME));
|
||||
assertTrue(lastUpdateTime > 0);
|
||||
assertTrue(lastUpdateTime < System.currentTimeMillis());
|
||||
cursor.close();
|
||||
@ -142,7 +143,7 @@ public class InstalledAppProviderTest extends FDroidProviderTest {
|
||||
assertNotNull(cursor);
|
||||
assertEquals("App \"" + packageName + "\" not installed", 1, cursor.getCount());
|
||||
cursor.moveToFirst();
|
||||
assertTrue(lastUpdateTime < cursor.getLong(cursor.getColumnIndex(InstalledAppProvider.DataColumns.LAST_UPDATE_TIME)));
|
||||
assertTrue(lastUpdateTime < cursor.getLong(cursor.getColumnIndex(Cols.LAST_UPDATE_TIME)));
|
||||
cursor.close();
|
||||
}
|
||||
|
||||
@ -168,15 +169,15 @@ public class InstalledAppProviderTest extends FDroidProviderTest {
|
||||
private ContentValues createContentValues(String appId, int versionCode, String versionNumber) {
|
||||
ContentValues values = new ContentValues(3);
|
||||
if (appId != null) {
|
||||
values.put(InstalledAppProvider.DataColumns.PACKAGE_NAME, appId);
|
||||
values.put(Cols.PACKAGE_NAME, appId);
|
||||
}
|
||||
values.put(InstalledAppProvider.DataColumns.APPLICATION_LABEL, "Mock app: " + appId);
|
||||
values.put(InstalledAppProvider.DataColumns.VERSION_CODE, versionCode);
|
||||
values.put(InstalledAppProvider.DataColumns.VERSION_NAME, versionNumber);
|
||||
values.put(InstalledAppProvider.DataColumns.SIGNATURE, "");
|
||||
values.put(InstalledAppProvider.DataColumns.LAST_UPDATE_TIME, System.currentTimeMillis());
|
||||
values.put(InstalledAppProvider.DataColumns.HASH_TYPE, "sha256");
|
||||
values.put(InstalledAppProvider.DataColumns.HASH, "cafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafe");
|
||||
values.put(Cols.APPLICATION_LABEL, "Mock app: " + appId);
|
||||
values.put(Cols.VERSION_CODE, versionCode);
|
||||
values.put(Cols.VERSION_NAME, versionNumber);
|
||||
values.put(Cols.SIGNATURE, "");
|
||||
values.put(Cols.LAST_UPDATE_TIME, System.currentTimeMillis());
|
||||
values.put(Cols.HASH_TYPE, "sha256");
|
||||
values.put(Cols.HASH, "cafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafe");
|
||||
return values;
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package org.fdroid.fdroid.data;
|
||||
|
||||
import org.fdroid.fdroid.BuildConfig;
|
||||
import org.fdroid.fdroid.data.Schema.InstalledAppTable;
|
||||
import org.fdroid.fdroid.mock.MockApk;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
@ -44,7 +45,7 @@ public class ProviderUriTests {
|
||||
@Test
|
||||
public void validInstalledAppProviderUris() {
|
||||
ShadowContentResolver.registerProvider(InstalledAppProvider.getAuthority(), new InstalledAppProvider());
|
||||
String[] projection = new String[] {InstalledAppProvider.DataColumns._ID};
|
||||
String[] projection = new String[] {InstalledAppTable.Cols._ID};
|
||||
assertValidUri(resolver, InstalledAppProvider.getContentUri(), projection);
|
||||
assertValidUri(resolver, InstalledAppProvider.getAppUri("org.example.app"), projection);
|
||||
assertValidUri(resolver, InstalledAppProvider.getSearchUri("blah"), projection);
|
||||
|
Loading…
x
Reference in New Issue
Block a user