X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2FNewTransactionActivity.java;h=38289020715be1d118a1def9e034a83005ffb259;hp=16feaaf1f33da9cca1b435d976820de3fdfdfd2e;hb=6c58c1072c9af6ea0d0f52baeae7f95ba7f7ee2f;hpb=0da12809143008ee7116162be26564e6e6a562cc diff --git a/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java b/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java index 16feaaf1..38289020 100644 --- a/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java @@ -1,3 +1,20 @@ +/* + * Copyright © 2018 Damyan Ivanov. + * This file is part of Mobile-Ledger. + * Mobile-Ledger is free software: you can distribute it and/or modify it + * under the term of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your opinion), any later version. + * + * Mobile-Ledger is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License terms for details. + * + * You should have received a copy of the GNU General Public License + * along with Mobile-Ledger. If not, see . + */ + package net.ktnx.mobileledger; import android.annotation.SuppressLint; @@ -34,12 +51,17 @@ import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView; +import net.ktnx.mobileledger.async.SaveTransactionTask; +import net.ktnx.mobileledger.async.TaskCallback; +import net.ktnx.mobileledger.model.LedgerTransaction; +import net.ktnx.mobileledger.model.LedgerTransactionItem; +import net.ktnx.mobileledger.ui.DatePickerFragment; +import net.ktnx.mobileledger.utils.MLDB; + import java.util.Date; import java.util.Objects; /* - * TODO: auto-fill of transaction description - * if Android O's implementation won't work, add a custom one * TODO: nicer progress while transaction is submitted * TODO: latest transactions, maybe with browsing further in the past? * TODO: reports @@ -58,7 +80,6 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal private AutoCompleteTextView text_descr; private static SaveTransactionTask saver; private MenuItem mSave; - private MobileLedgerDatabase dbh; @Override protected void onCreate(Bundle savedInstanceState) { @@ -67,8 +88,6 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); - dbh = new MobileLedgerDatabase(this); - text_date = findViewById(R.id.new_transaction_date); text_date.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override @@ -78,8 +97,7 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal } }); text_descr = findViewById(R.id.new_transaction_description); - hook_autocompletion_adapter(text_descr, MobileLedgerDatabase - .DESCRIPTION_HISTORY_TABLE, "description"); + hook_autocompletion_adapter(text_descr, MLDB.DESCRIPTION_HISTORY_TABLE, "description"); hook_text_change_listener(text_descr); progress = findViewById(R.id.save_transaction_progress); @@ -91,7 +109,7 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal AutoCompleteTextView acc_name_view = (AutoCompleteTextView) row.getChildAt(0); TextView amount_view = (TextView) row.getChildAt(1); hook_swipe_listener(row); - hook_autocompletion_adapter(acc_name_view, MobileLedgerDatabase.ACCOUNTS_TABLE, "name"); + hook_autocompletion_adapter(acc_name_view, MLDB.ACCOUNTS_TABLE, "name"); hook_text_change_listener(acc_name_view); hook_text_change_listener(amount_view); // Log.d("swipe", "hooked to row "+i); @@ -248,7 +266,7 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal String[] col_names = {FontsContract.Columns._ID, field}; MatrixCursor c = new MatrixCursor(col_names); - try (SQLiteDatabase db = dbh.getReadableDatabase()) { + try (SQLiteDatabase db = MLDB.getReadableDatabase(getApplicationContext())) { try (Cursor matches = db.rawQuery(String.format( "SELECT %s as a, case when %s_upper LIKE ?||'%%' then 1 " @@ -336,7 +354,7 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal if (focus) acc.requestFocus(); hook_swipe_listener(row); - hook_autocompletion_adapter(acc, MobileLedgerDatabase.ACCOUNTS_TABLE, "name"); + hook_autocompletion_adapter(acc, MLDB.ACCOUNTS_TABLE, "name"); hook_text_change_listener(acc); hook_text_change_listener(amt); }