@@ -865,6 +865,10 @@ public Cursor newCursor(SQLiteDatabase db,
865
865
* @throws SQLiteException if the database cannot be opened
866
866
*/
867
867
public static SQLiteDatabase openDatabase (String path , String password , CursorFactory factory , int flags , SQLiteDatabaseHook databaseHook ) {
868
+ return openDatabase (path , password .toCharArray (), factory , flags , databaseHook );
869
+ }
870
+
871
+ public static SQLiteDatabase openDatabase (String path , char [] password , CursorFactory factory , int flags , SQLiteDatabaseHook databaseHook ) {
868
872
SQLiteDatabase sqliteDatabase = null ;
869
873
try {
870
874
// Open the database.
@@ -899,6 +903,10 @@ public static SQLiteDatabase openOrCreateDatabase(String path, String password,
899
903
return openDatabase (path , password , factory , CREATE_IF_NECESSARY , databaseHook );
900
904
}
901
905
906
+ public static SQLiteDatabase openOrCreateDatabase (String path , char [] password , CursorFactory factory , SQLiteDatabaseHook databaseHook ) {
907
+ return openDatabase (path , password , factory , CREATE_IF_NECESSARY , databaseHook );
908
+ }
909
+
902
910
/**
903
911
* Equivalent to openDatabase(file.getPath(), factory, CREATE_IF_NECESSARY).
904
912
*/
@@ -911,11 +919,19 @@ public static SQLiteDatabase openOrCreateDatabase(File file, String password, Cu
911
919
*/
912
920
913
921
public static SQLiteDatabase openOrCreateDatabase (String path , String password , CursorFactory factory ) {
914
- return openDatabase (path , password , factory , CREATE_IF_NECESSARY , null );
922
+ return openDatabase (path , password .toCharArray (), factory , CREATE_IF_NECESSARY , null );
923
+ }
924
+
925
+ public static SQLiteDatabase openOrCreateDatabase (String path , char [] password , CursorFactory factory ) {
926
+ return openDatabase (path , password , factory , CREATE_IF_NECESSARY , null );
915
927
}
916
928
917
929
public static SQLiteDatabase openDatabase (String path , String password , CursorFactory factory , int flags ) {
918
- return openDatabase (path , password , factory , CREATE_IF_NECESSARY , null );
930
+ return openDatabase (path , password .toCharArray (), factory , CREATE_IF_NECESSARY , null );
931
+ }
932
+
933
+ public static SQLiteDatabase openDatabase (String path , char [] password , CursorFactory factory , int flags ) {
934
+ return openDatabase (path , password , factory , CREATE_IF_NECESSARY , null );
919
935
}
920
936
921
937
/**
@@ -931,9 +947,14 @@ public static SQLiteDatabase openDatabase(String path, String password, CursorFa
931
947
*/
932
948
public static SQLiteDatabase create (CursorFactory factory , String password ) {
933
949
// This is a magic string with special meaning for SQLite.
950
+ return openDatabase (":memory:" , password .toCharArray (), factory , CREATE_IF_NECESSARY );
951
+ }
952
+
953
+ public static SQLiteDatabase create (CursorFactory factory , char [] password ) {
934
954
return openDatabase (":memory:" , password , factory , CREATE_IF_NECESSARY );
935
955
}
936
956
957
+
937
958
/**
938
959
* Close the database.
939
960
*/
@@ -1895,7 +1916,7 @@ protected void finalize() {
1895
1916
}
1896
1917
}
1897
1918
1898
- public SQLiteDatabase (String path , String password , CursorFactory factory , int flags ) {
1919
+ public SQLiteDatabase (String path , char [] password , CursorFactory factory , int flags ) {
1899
1920
this (path , password , factory , flags , null );
1900
1921
}
1901
1922
@@ -1907,7 +1928,7 @@ public SQLiteDatabase(String path, String password, CursorFactory factory, int f
1907
1928
* @param flags 0 or {@link #NO_LOCALIZED_COLLATORS}. If the database file already
1908
1929
* exists, mFlags will be updated appropriately.
1909
1930
*/
1910
- public SQLiteDatabase (String path , String password , CursorFactory factory , int flags , SQLiteDatabaseHook databaseHook ) {
1931
+ public SQLiteDatabase (String path , char [] password , CursorFactory factory , int flags , SQLiteDatabaseHook databaseHook ) {
1911
1932
1912
1933
if (path == null ) {
1913
1934
throw new IllegalArgumentException ("path should not be null" );
@@ -1924,7 +1945,7 @@ public SQLiteDatabase(String path, String password, CursorFactory factory, int f
1924
1945
databaseHook .preKey (this );
1925
1946
}
1926
1947
1927
- native_key (password . toCharArray () );
1948
+ native_key (password );
1928
1949
1929
1950
if (databaseHook != null ){
1930
1951
databaseHook .postKey (this );
0 commit comments