]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java
asynchronous profile initialisation
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / ui / activity / MainActivity.java
index c4d5c24a9f38016ac413373fa8e3eb5c74827874..28a1af842325996c663d993083c8b9f54620840b 100644 (file)
@@ -347,13 +347,16 @@ public class MainActivity extends ProfileThemedActivity implements FabManager.Fa
                 continue;
 
             final ShortcutInfo.Builder builder =
-                    new ShortcutInfo.Builder(this, "new_transaction_" + p.getUuid());
+                    new ShortcutInfo.Builder(this, "new_transaction_" + p.getId());
             ShortcutInfo si = builder.setShortLabel(p.getName())
                                      .setIcon(Icon.createWithResource(this,
                                              R.drawable.thick_plus_icon))
                                      .setIntent(new Intent(Intent.ACTION_VIEW, null, this,
-                                             NewTransactionActivity.class).putExtra("profile_uuid",
-                                             p.getUuid()))
+                                             NewTransactionActivity.class).putExtra(
+                                             ProfileThemedActivity.PARAM_PROFILE_ID, p.getId())
+                                                                          .putExtra(
+                                                                                  ProfileThemedActivity.PARAM_THEME,
+                                                                                  p.getThemeHue()))
                                      .setRank(i)
                                      .build();
             shortcuts.add(si);
@@ -424,7 +427,6 @@ public class MainActivity extends ProfileThemedActivity implements FabManager.Fa
         mainModel.clearTransactions();
 
         if (haveProfile) {
-            mainModel.scheduleAccountListReload();
             Logger.debug("transactions", "requesting list reload");
             mainModel.scheduleTransactionListReload();
 
@@ -452,10 +454,13 @@ public class MainActivity extends ProfileThemedActivity implements FabManager.Fa
         Data.lastUpdateAccountCount.removeObservers(this);
         Data.lastUpdateDate.removeObservers(this);
 
+        Logger.debug("MainActivity", "profileThemeChanged(): recreating activity");
         recreate();
     }
     public void fabNewTransactionClicked(View view) {
         Intent intent = new Intent(this, NewTransactionActivity.class);
+        intent.putExtra(ProfileThemedActivity.PARAM_PROFILE_ID, profile.getId());
+        intent.putExtra(ProfileThemedActivity.PARAM_THEME, profile.getThemeHue());
         startActivity(intent);
         overridePendingTransition(R.anim.slide_in_up, R.anim.dummy);
     }
@@ -541,16 +546,16 @@ public class MainActivity extends ProfileThemedActivity implements FabManager.Fa
         Integer transactionCount = Data.lastUpdateTransactionCount.getValue();
         Date lastUpdate = Data.lastUpdateDate.getValue();
         if (lastUpdate == null) {
-            Data.lastTransactionsUpdateText.set("----");
-            Data.lastAccountsUpdateText.set("----");
+            Data.lastTransactionsUpdateText.setValue("----");
+            Data.lastAccountsUpdateText.setValue("----");
         }
         else {
-            Data.lastTransactionsUpdateText.set(
+            Data.lastTransactionsUpdateText.setValue(
                     String.format(Objects.requireNonNull(Data.locale.getValue()),
                             templateForTransactions,
                             transactionCount == null ? 0 : transactionCount,
                             DateUtils.formatDateTime(this, lastUpdate.getTime(), formatFlags)));
-            Data.lastAccountsUpdateText.set(
+            Data.lastAccountsUpdateText.setValue(
                     String.format(Objects.requireNonNull(Data.locale.getValue()),
                             templateForAccounts, accountCount == null ? 0 : accountCount,
                             DateUtils.formatDateTime(this, lastUpdate.getTime(), formatFlags)));