Files
Lawnchair/robolectric_tests/src/com/android/launcher3/util/TestLauncherProvider.java
T
Sunny Goyal 4b5b0eb60d Moving some tests to robolectric
> Adding support for simulating model load

Bug: 130562632
Change-Id: I1de8c0abe2e74d4e7e47e18914316c339920609a
2019-12-09 11:17:12 -08:00

62 lines
1.6 KiB
Java

package com.android.launcher3.util;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import com.android.launcher3.LauncherProvider;
/**
* An extension of LauncherProvider backed up by in-memory database.
*/
public class TestLauncherProvider extends LauncherProvider {
private boolean mAllowLoadDefaultFavorites;
@Override
public boolean onCreate() {
return true;
}
@Override
protected synchronized void createDbIfNotExists() {
if (mOpenHelper == null) {
mOpenHelper = new MyDatabaseHelper(getContext(), mAllowLoadDefaultFavorites);
}
}
public void setAllowLoadDefaultFavorites(boolean allowLoadDefaultFavorites) {
mAllowLoadDefaultFavorites = allowLoadDefaultFavorites;
}
public SQLiteDatabase getDb() {
createDbIfNotExists();
return mOpenHelper.getWritableDatabase();
}
private static class MyDatabaseHelper extends DatabaseHelper {
private final boolean mAllowLoadDefaultFavorites;
MyDatabaseHelper(Context context, boolean allowLoadDefaultFavorites) {
super(context, null);
mAllowLoadDefaultFavorites = allowLoadDefaultFavorites;
initIds();
}
@Override
public long getDefaultUserSerial() {
return 0;
}
@Override
protected void onEmptyDbCreated() {
if (mAllowLoadDefaultFavorites) {
super.onEmptyDbCreated();
}
}
@Override
protected void handleOneTimeDataUpgrade(SQLiteDatabase db) { }
}
}