]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/utils/MLDB.java
whitespace
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / utils / MLDB.java
index 489472b7b2ba9d7cf0d0689b443e5db3bf99f8db..42996c9f36bfe40fb09e8bbb46ec1f548b4267ac 100644 (file)
@@ -34,6 +34,7 @@ import android.widget.AutoCompleteTextView;
 import android.widget.FilterQueryProvider;
 import android.widget.SimpleCursorAdapter;
 
+import net.ktnx.mobileledger.async.DescriptionSelectedCallback;
 import net.ktnx.mobileledger.model.Data;
 
 import org.jetbrains.annotations.NonNls;
@@ -63,14 +64,19 @@ public final class MLDB {
     public static synchronized SQLiteDatabase getDatabase(DatabaseMode mode) {
         checkState();
 
+        SQLiteDatabase db;
+
         if (mode == READ) {
             if (helperForReading == null) helperForReading = new MobileLedgerDatabase(context);
-            return helperForReading.getReadableDatabase();
+            db = helperForReading.getReadableDatabase();
         }
         else {
             if (helperForWriting == null) helperForWriting = new MobileLedgerDatabase(context);
-            return helperForWriting.getWritableDatabase();
+            db = helperForWriting.getWritableDatabase();
         }
+
+        db.execSQL("pragma case_sensitive_like=ON;");
+        return db;
     }
     public static SQLiteDatabase getReadableDatabase() {
         return getDatabase(READ);
@@ -133,14 +139,14 @@ public final class MLDB {
                                                  final AutoCompleteTextView view,
                                                  final String table, final String field,
                                                  final boolean profileSpecific) {
-        hookAutocompletionAdapter(context, view, table, field, profileSpecific, null);
+        hookAutocompletionAdapter(context, view, table, field, profileSpecific, null, null);
     }
     @TargetApi(Build.VERSION_CODES.N)
     public static void hookAutocompletionAdapter(final Context context,
                                                  final AutoCompleteTextView view,
                                                  final String table, final String field,
-                                                 final boolean profileSpecific,
-                                                 final View nextView) {
+                                                 final boolean profileSpecific, final View nextView,
+                                                 final DescriptionSelectedCallback callback) {
         String[] from = {field};
         int[] to = {android.R.id.text1};
         SimpleCursorAdapter adapter =
@@ -199,6 +205,9 @@ public final class MLDB {
         if (nextView != null) {
             view.setOnItemClickListener((parent, itemView, position, id) -> {
                 nextView.requestFocus(View.FOCUS_FORWARD);
+                if (callback != null) {
+                    callback.descriptionSelected(String.valueOf(view.getText()));
+                }
             });
         }
     }
@@ -217,7 +226,7 @@ public final class MLDB {
 
 class MobileLedgerDatabase extends SQLiteOpenHelper implements AutoCloseable {
     public static final String DB_NAME = "MoLe.db";
-    public static final int LATEST_REVISION = 17;
+    public static final int LATEST_REVISION = 20;
 
     private final Application mContext;