import android.view.MenuItem;
import androidx.appcompat.widget.Toolbar;
+import androidx.lifecycle.ViewModelProviders;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
public class NewTransactionActivity extends ProfileThemedActivity implements TaskCallback,
NewTransactionFragment.OnNewTransactionFragmentInteractionListener {
private NavController navController;
+ private NewTransactionModel model;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Objects.requireNonNull(getSupportActionBar())
.setDisplayHomeAsUpEnabled(true);
+
+ model = ViewModelProviders.of(this)
+ .get(NewTransactionModel.class);
}
@Override
protected void initProfile() {
}
@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();
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) {
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));
+
return true;
}
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<Void, Void, Void> {
@Override