]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/new_transaction/NewTransactionActivity.java
migrate to surrogate IDs for all database objects
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / new_transaction / NewTransactionActivity.java
index 3e1772608fd931f652258204f9ccc3bd6558d8ef..469e773e95470a55570a210dcfc423404b9fd3b9 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;
@@ -114,10 +115,10 @@ public class NewTransactionActivity extends ProfileThemedActivity
     }
     @Override
     protected void initProfile() {
-        String profileUUID = getIntent().getStringExtra("profile_uuid");
+        long profileId = getIntent().getLongExtra("profile_id", 0);
 
-        if (profileUUID != null) {
-            mProfile = Data.getProfile(profileUUID);
+        if (profileId != 0) {
+            mProfile = Data.getProfile(profileId);
             if (mProfile == null)
                 finish();
             Data.setCurrentProfile(mProfile);
@@ -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
@@ -370,9 +378,9 @@ public class NewTransactionActivity extends ProfileThemedActivity
             }
             @Override
             public boolean onRow(@NonNull Cursor cursor) {
-                final String profileUUID = cursor.getString(0);
+                final long profileId = cursor.getLong(0);
                 final int transactionId = cursor.getInt(1);
-                runOnUiThread(() -> model.loadTransactionIntoModel(profileUUID, transactionId));
+                runOnUiThread(() -> model.loadTransactionIntoModel(profileId, transactionId));
                 return false; // limit 1, by the way
             }
             @Override
@@ -401,9 +409,9 @@ public class NewTransactionActivity extends ProfileThemedActivity
                             }
                             @Override
                             public boolean onRow(@NonNull Cursor cursor) {
-                                final String profileUUID = cursor.getString(0);
+                                final long profileId = cursor.getLong(0);
                                 final int transactionId = cursor.getInt(1);
-                                runOnUiThread(() -> model.loadTransactionIntoModel(profileUUID,
+                                runOnUiThread(() -> model.loadTransactionIntoModel(profileId,
                                         transactionId));
                                 return false;
                             }