Extracted InstalledAppProvider.DataColumns to Schema.InstalledAppTable.Cols

This commit is contained in:
Peter Serwylo 2016-06-30 17:06:40 +10:00
parent d1ceb84af4
commit 6fb23d2efa
9 changed files with 103 additions and 92 deletions

View File

@ -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
);
}

View File

@ -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 + ";";

View File

@ -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));
}
}

View File

@ -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);
}

View File

@ -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,
};
}
}
}

View File

@ -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 {

View File

@ -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();
}

View File

@ -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;
}

View File

@ -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);