]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionActivity.java
NT: add simulation watermark when simulation is enabled
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / activity / NewTransactionActivity.java
index 6b9ed63557dc196a1bbd1115180d6aedab97db22..1317c438f334e759756ed00194e6b07ccadb3ce7 100644 (file)
@@ -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<Void, Void, Void> {
         @Override