package net.ktnx.mobileledger.ui.transaction_list;
import android.content.Context;
-import android.database.MatrixCursor;
+import android.database.Cursor;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.AutoCompleteTextView;
-import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+import com.google.android.material.snackbar.Snackbar;
+
import net.ktnx.mobileledger.R;
import net.ktnx.mobileledger.model.Data;
import net.ktnx.mobileledger.ui.MobileLedgerListFragment;
import static android.content.Context.INPUT_METHOD_SERVICE;
import static net.ktnx.mobileledger.utils.Logger.debug;
+// TODO: support transaction-level comment
+
public class TransactionListFragment extends MobileLedgerListFragment {
private MenuItem menuTransactionListFilter;
private View vAccountFilter;
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
- Data.backgroundTasksRunning.observe(getViewLifecycleOwner(),
- this::onBackgroundTaskRunningChanged);
}
@Override
public void onAttach(@NotNull Context context) {
debug("flow", "TransactionListFragment.onActivityCreated called");
super.onActivityCreated(savedInstanceState);
+ Data.backgroundTasksRunning.observe(getViewLifecycleOwner(),
+ this::onBackgroundTaskRunningChanged);
+
swiper = mActivity.findViewById(R.id.transaction_swipe);
if (swiper == null)
throw new RuntimeException("Can't get hold on the swipe layout");
MLDB.hookAutocompletionAdapter(mActivity, accNameFilter, "accounts", "name");
accNameFilter.setOnItemClickListener((parent, view, position, id) -> {
// debug("tmp", "direct onItemClick");
- MatrixCursor mc = (MatrixCursor) parent.getItemAtPosition(position);
- Data.accountFilter.setValue(mc.getString(1));
+ Cursor c = (Cursor) parent.getItemAtPosition(position);
+ Data.accountFilter.setValue(c.getString(1));
Globals.hideSoftKeyboard(mActivity);
});
if (err == null)
return;
- Toast.makeText(mActivity, err, Toast.LENGTH_SHORT)
- .show();
+ Snackbar.make(this.root, err, Snackbar.LENGTH_LONG)
+ .show();
TransactionListViewModel.updateError.set(null);
});
Data.transactions.addObserver(
return true;
});
}
-}
\ No newline at end of file
+}