3131 */
3232public class SQLBriteOpenHelper extends SQLiteOpenHelper {
3333
34- private static final String TAG = SQLBriteOpenHelper .class .getSimpleName ();
3534 private String migrationDir = "migrations" ;
3635 private Context context ;
3736 private boolean isOnTestMode = false ;
37+ private static BriteDatabase briteDatabase ;
3838
3939
4040 /**
@@ -91,9 +91,11 @@ public SQLBriteOpenHelper(Context context, String name, int version, boolean tes
9191 * @see BriteDatabase
9292 */
9393 public synchronized static BriteDatabase get (Context context , String name , int version ) {
94- SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper (context , name , null , version );
95- SqlBrite sqlBrite = new SqlBrite .Builder ().build ();
96- BriteDatabase briteDatabase = sqlBrite .wrapDatabaseHelper (sqlBriteOpenHelper , Schedulers .io ());
94+ if (briteDatabase == null ) {
95+ SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper (context , name , null , version );
96+ SqlBrite sqlBrite = new SqlBrite .Builder ().build ();
97+ briteDatabase = sqlBrite .wrapDatabaseHelper (sqlBriteOpenHelper , Schedulers .io ());
98+ }
9799 return briteDatabase ;
98100 }
99101
@@ -109,9 +111,11 @@ public synchronized static BriteDatabase get(Context context, String name, int v
109111 */
110112 public synchronized static BriteDatabase get (Context context , String name ,
111113 SQLiteDatabase .CursorFactory factory , int version ) {
112- SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper (context , name , factory , version );
113- SqlBrite sqlBrite = new SqlBrite .Builder ().build ();
114- BriteDatabase briteDatabase = sqlBrite .wrapDatabaseHelper (sqlBriteOpenHelper , Schedulers .io ());
114+ if (briteDatabase == null ) {
115+ SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper (context , name , factory , version );
116+ SqlBrite sqlBrite = new SqlBrite .Builder ().build ();
117+ briteDatabase = sqlBrite .wrapDatabaseHelper (sqlBriteOpenHelper , Schedulers .io ());
118+ }
115119 return briteDatabase ;
116120 }
117121
@@ -127,9 +131,11 @@ public synchronized static BriteDatabase get(Context context, String name,
127131 */
128132 public synchronized static BriteDatabase get (Context context , String name ,
129133 SQLiteDatabase .CursorFactory factory , int version , DatabaseErrorHandler errorHandler ) {
130- SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper (context , name , factory , version , errorHandler );
131- SqlBrite sqlBrite = new SqlBrite .Builder ().build ();
132- BriteDatabase briteDatabase = sqlBrite .wrapDatabaseHelper (sqlBriteOpenHelper , Schedulers .io ());
134+ if (briteDatabase == null ) {
135+ SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper (context , name , factory , version , errorHandler );
136+ SqlBrite sqlBrite = new SqlBrite .Builder ().build ();
137+ briteDatabase = sqlBrite .wrapDatabaseHelper (sqlBriteOpenHelper , Schedulers .io ());
138+ }
133139 return briteDatabase ;
134140 }
135141
@@ -143,6 +149,7 @@ public synchronized static BriteDatabase get(Context context, String name,
143149 * @see BriteDatabase
144150 */
145151 public synchronized static BriteDatabase get (Context context , String name , int version , boolean testing ) {
152+ //always return new instance on test mode
146153 SQLBriteOpenHelper sqlBriteOpenHelper = new SQLBriteOpenHelper (context , name , version , testing );
147154 SqlBrite sqlBrite = new SqlBrite .Builder ().build ();
148155 BriteDatabase briteDatabase = sqlBrite .wrapDatabaseHelper (sqlBriteOpenHelper , Schedulers .immediate ());
0 commit comments