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=6287ac8eca11662d764e8964ecfb86b8fa1ca3c2;hb=7755b258b49a61b6c1064a462a31b620e02071a9;hpb=30d7068474c9a3c8b1d0763f23950fe75ac9ea03 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 6287ac8e..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() { @@ -83,13 +89,13 @@ public class NewTransactionActivity extends ProfileThemedActivity implements Tas } @Override public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - finish(); - return true; + if (item.getItemId() == android.R.id.home) { + finish(); + return true; } return super.onOptionsItemSelected(item); } + @Override protected void onStart() { super.onStart(); @@ -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