Merge pull request #139 from whym/dbopenhelper-singleton

Make DbOpenHelper a singleton class accessible from different content provides
This commit is contained in:
Nicolas Raoul 2016-06-22 01:03:21 +09:00 committed by GitHub
commit d00e1c07ad
5 changed files with 12 additions and 14 deletions

View file

@ -45,7 +45,6 @@ import com.android.volley.toolbox.*;
)
public class CommonsApplication extends Application {
private DBOpenHelper dbOpenHelper;
public static String APPLICATION_VERSION; // Populated in onCreate. Race conditions theoretically possible, but practically not?
private MWApi api;
@ -87,15 +86,6 @@ public class CommonsApplication extends Application {
return new MWApi(API_URL, createHttpClient());
}
public DBOpenHelper getDbOpenHelper() {
if(dbOpenHelper == null) {
dbOpenHelper = new DBOpenHelper(this);
}
return dbOpenHelper;
}
@Override
public void onCreate() {
ACRA.init(this);

View file

@ -37,7 +37,7 @@ public class CategoryContentProvider extends ContentProvider {
private DBOpenHelper dbOpenHelper;
@Override
public boolean onCreate() {
dbOpenHelper = ((CommonsApplication)this.getContext().getApplicationContext()).getDbOpenHelper();
dbOpenHelper = DBOpenHelper.getInstance(getContext());
return false;
}

View file

@ -34,7 +34,7 @@ public class ContributionsContentProvider extends ContentProvider{
private DBOpenHelper dbOpenHelper;
@Override
public boolean onCreate() {
dbOpenHelper = ((CommonsApplication)this.getContext().getApplicationContext()).getDbOpenHelper();
dbOpenHelper = DBOpenHelper.getInstance(getContext());
return false;
}

View file

@ -11,8 +11,16 @@ public class DBOpenHelper extends SQLiteOpenHelper{
private static final String DATABASE_NAME = "commons.db";
private static final int DATABASE_VERSION = 6;
private static DBOpenHelper singleton = null;
public DBOpenHelper(Context context) {
public static synchronized DBOpenHelper getInstance(Context context) {
if ( singleton == null ) {
singleton = new DBOpenHelper(context);
}
return singleton;
}
private DBOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

View file

@ -34,7 +34,7 @@ public class ModificationsContentProvider extends ContentProvider{
private DBOpenHelper dbOpenHelper;
@Override
public boolean onCreate() {
dbOpenHelper = ((CommonsApplication)this.getContext().getApplicationContext()).getDbOpenHelper();
dbOpenHelper = DBOpenHelper.getInstance(getContext());
return false;
}