]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionActivity.java
handle menu items click hooks by code in new transaction activity
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / new_transaction / NewTransactionActivity.java
index 4b1fce945e74a1788898c0b0428bd1aa963559e6..ce97d985d9dc8eb5593b29a5eaa46993e4bd6ed5 100644 (file)
@@ -31,6 +31,7 @@ import android.view.View;
 
 import androidx.activity.result.ActivityResultLauncher;
 import androidx.annotation.NonNull;
+import androidx.core.view.MenuCompat;
 import androidx.lifecycle.LiveData;
 import androidx.lifecycle.ViewModelProvider;
 import androidx.navigation.NavController;
@@ -154,20 +155,26 @@ public class NewTransactionActivity extends ProfileThemedActivity
             navController.navigate(R.id.newTransactionFragment, b);
         }
     }
-    public void simulateCrash(MenuItem item) {
+    public boolean onSimulateCrashMenuItemClicked(MenuItem item) {
         debug("crash", "Will crash intentionally");
         new AsyncCrasher().execute();
+        return true;
     }
     public boolean onCreateOptionsMenu(Menu menu) {
+        super.onCreateOptionsMenu(menu);
+
+        if (!BuildConfig.DEBUG)
+            return true;
+
         // Inflate the menu; this adds items to the action bar if it is present.
         getMenuInflater().inflate(R.menu.new_transaction, menu);
 
-        if (BuildConfig.DEBUG) {
-            menu.findItem(R.id.action_simulate_crash)
-                .setVisible(true);
-            menu.findItem(R.id.action_simulate_save)
-                .setVisible(true);
-        }
+        MenuCompat.setGroupDividerEnabled(menu, true);
+
+        menu.findItem(R.id.action_simulate_save)
+            .setOnMenuItemClickListener(this::onToggleSimulateSaveMenuItemClicked);
+        menu.findItem(R.id.action_simulate_crash)
+            .setOnMenuItemClickListener(this::onSimulateCrashMenuItemClicked);
 
         model.getSimulateSave()
              .observe(this, state -> {
@@ -194,8 +201,9 @@ public class NewTransactionActivity extends ProfileThemedActivity
         else
             navController.navigate(R.id.action_newTransactionSavingFragment_Success, b);
     }
-    public void toggleSimulateSave(MenuItem item) {
+    public boolean onToggleSimulateSaveMenuItemClicked(MenuItem item) {
         model.toggleSimulateSave();
+        return true;
     }
 
     @Override
@@ -416,7 +424,7 @@ public class NewTransactionActivity extends ProfileThemedActivity
         });
     }
     private void onFabPressed() {
-        b.fabAdd.hide();
+        fabManager.hideFab();
         Misc.hideSoftKeyboard(this);
 
         LedgerTransaction tr = model.constructLedgerTransaction();