X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FNewTransactionActivity.java;h=1317c438f334e759756ed00194e6b07ccadb3ce7;hp=6b9ed63557dc196a1bbd1115180d6aedab97db22;hb=7755b258b49a61b6c1064a462a31b620e02071a9;hpb=21ad67f7d768828a7f07f70e34f19c53f9b84275 diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java index 6b9ed635..1317c438 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java @@ -22,8 +22,10 @@ import android.os.Bundle; import android.util.TypedValue; import android.view.Menu; import android.view.MenuItem; +import android.view.View; import androidx.appcompat.widget.Toolbar; +import androidx.lifecycle.ViewModelProviders; import androidx.navigation.NavController; import androidx.navigation.Navigation; @@ -48,6 +50,7 @@ import static net.ktnx.mobileledger.utils.Logger.debug; public class NewTransactionActivity extends ProfileThemedActivity implements TaskCallback, NewTransactionFragment.OnNewTransactionFragmentInteractionListener { private NavController navController; + private NewTransactionModel model; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -62,6 +65,9 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas Objects.requireNonNull(getSupportActionBar()) .setDisplayHomeAsUpEnabled(true); + + model = ViewModelProviders.of(this) + .get(NewTransactionModel.class); } @Override protected void initProfile() { @@ -99,7 +105,8 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas navController.navigate(R.id.action_newTransactionFragment_to_newTransactionSavingFragment); try { - SendTransactionTask saver = new SendTransactionTask(this, mProfile); + SendTransactionTask saver = + new SendTransactionTask(this, mProfile, model.getSimulateSave()); saver.execute(tr); } catch (Exception e) { @@ -121,8 +128,16 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas if (BuildConfig.DEBUG) { menu.findItem(R.id.action_simulate_crash) .setVisible(true); + menu.findItem(R.id.action_simulate_save) + .setVisible(true); } + model.observeSimulateSave(this, state -> { + menu.findItem(R.id.action_simulate_save) + .setChecked(state); + findViewById(R.id.simulationLabel).setVisibility(state ? View.VISIBLE : View.GONE); + }); + return true; } @@ -136,11 +151,14 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas Bundle b = new Bundle(); if (error != null) { b.putString("error", error); - navController.navigate(R.id.action_newTransactionSavingFragment_Failure); + navController.navigate(R.id.action_newTransactionSavingFragment_Failure, b); } else navController.navigate(R.id.action_newTransactionSavingFragment_Success, b); } + public void toggleSimulateSave(MenuItem item) { + model.toggleSimulateSave(); + } private class AsyncCrasher extends AsyncTask { @Override