X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2FNewTransactionActivity.java;h=b229c0ff44b0de9a2ae76ca61adb55f528b44f8e;hb=89020c287f5ac0e9670cd1183f17c527ceb263de;hp=1a86818a6204023f8b2a7e8b7d6b506f7119d7ac;hpb=aceb78497400697311acc149c682e891b3b6c60f;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java b/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java index 1a86818a..b229c0ff 100644 --- a/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/NewTransactionActivity.java @@ -1,11 +1,14 @@ package net.ktnx.mobileledger; +import android.animation.AnimatorInflater; +import android.animation.AnimatorSet; import android.annotation.TargetApi; import android.database.Cursor; import android.database.MatrixCursor; import android.database.sqlite.SQLiteDatabase; import android.os.Build; import android.os.Bundle; +import android.os.Handler; import android.preference.PreferenceManager; import android.provider.FontsContract; import android.support.design.widget.FloatingActionButton; @@ -23,6 +26,7 @@ import android.view.View; import android.widget.AutoCompleteTextView; import android.widget.EditText; import android.widget.FilterQueryProvider; +import android.widget.ProgressBar; import android.widget.SimpleCursorAdapter; import android.widget.TableLayout; import android.widget.TableRow; @@ -43,11 +47,14 @@ import java.util.Objects; * TODO: app icon * TODO: nicer swiping removal with visual feedback * TODO: activity with current balance + * TODO: setup wizard + * TODO: update accounts/check settings upon change of backend settings * */ public class NewTransactionActivity extends AppCompatActivity implements TaskCallback { private TableLayout table; private FloatingActionButton fab; + private ProgressBar progress; private TextView text_date; private TextView text_descr; private static SaveTransactionTask saver; @@ -73,6 +80,8 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal new_transaction_save_clicked(view); } }); + progress = findViewById(R.id.save_transaction_progress); + Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true); table = findViewById(R.id.new_transaction_accounts_table); for (int i = 0; i < table.getChildCount(); i++) { @@ -84,6 +93,7 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal public void new_transaction_save_clicked(View view) { fab.setEnabled(false); + progress.setVisibility(View.VISIBLE); saver = new SaveTransactionTask(this); @@ -216,6 +226,26 @@ public class NewTransactionActivity extends AppCompatActivity implements TaskCal @Override public void done() { fab.setEnabled(true); + + AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(this, R.animator.new_trans_animation); + set.setTarget(fab); + set.start(); + final Handler at_fade_out = new Handler(); + at_fade_out.postDelayed(new Runnable() { + @Override + public void run() { + fab.setImageResource(R.drawable.ic_thick_check_white); + + final Handler at_fade_in = new Handler(); + at_fade_in.postDelayed(new Runnable() { + @Override + public void run() { + fab.setImageResource(R.drawable.ic_save_white_24dp); + } + }, 1000); + } + }, 500); + progress.setVisibility(View.INVISIBLE); reset_form(); }