2121
2222import android .content .Context ;
2323import android .content .res .AssetManager ;
24- import android . database . sqlite .SQLiteDatabase ;
24+ import net . sqlcipher . database .SQLiteDatabase ;
2525import android .net .Uri ;
2626import android .text .TextUtils ;
27+ import android .util .Pair ;
2728
2829import com .amitshekhar .model .Response ;
2930import com .amitshekhar .model .RowDataRequest ;
@@ -59,8 +60,8 @@ public class RequestHandler {
5960 private final AssetManager mAssets ;
6061 private boolean isDbOpened ;
6162 private SQLiteDatabase mDatabase ;
62- private HashMap <String , File > mDatabaseFiles ;
63- private HashMap <String , File > mCustomDatabaseFiles ;
63+ private HashMap <String , Pair < File , String > > mDatabaseFiles ;
64+ private HashMap <String , Pair < File , String > > mCustomDatabaseFiles ;
6465 private String mSelectedDatabase = null ;
6566
6667 public RequestHandler (Context context ) {
@@ -154,7 +155,7 @@ public void handle(Socket socket) throws IOException {
154155 }
155156 }
156157
157- public void setCustomDatabaseFiles (HashMap <String , File > customDatabaseFiles ){
158+ public void setCustomDatabaseFiles (HashMap <String , Pair < File , String > > customDatabaseFiles ){
158159 mCustomDatabaseFiles = customDatabaseFiles ;
159160 }
160161
@@ -165,8 +166,12 @@ private void writeServerError(PrintStream output) {
165166
166167 private void openDatabase (String database ) {
167168 closeDatabase ();
168- File databaseFile = mDatabaseFiles .get (database );
169- mDatabase = SQLiteDatabase .openOrCreateDatabase (databaseFile .getAbsolutePath (), null );
169+ File databaseFile = mDatabaseFiles .get (database ).first ;
170+ String password = mDatabaseFiles .get (database ).second ;
171+
172+ SQLiteDatabase .loadLibs (mContext );
173+
174+ mDatabase = SQLiteDatabase .openOrCreateDatabase (databaseFile .getAbsolutePath (), password , null );
170175 isDbOpened = true ;
171176 }
172177
@@ -185,7 +190,7 @@ private String getDBListResponse() {
185190 }
186191 Response response = new Response ();
187192 if (mDatabaseFiles != null ) {
188- for (HashMap .Entry <String , File > entry : mDatabaseFiles .entrySet ()) {
193+ for (HashMap .Entry <String , Pair < File , String > > entry : mDatabaseFiles .entrySet ()) {
189194 response .rows .add (entry .getKey ());
190195 }
191196 }
0 commit comments