- if (extra != null && savedInstanceState == null) savedInstanceState = extra;
-
-
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
-
- profileObserver = (o, arg) -> {
- MobileLedgerProfile profile = Data.profile.get();
- MainActivity.this.runOnUiThread(() -> {
- if (profile == null) MainActivity.this.setTitle(R.string.app_name);
- else MainActivity.this.setTitle(profile.getName());
- MainActivity.this.updateLastUpdateTextFromDB();
- if (profile.isPostingPermitted()) {
- toolbar.setSubtitle(null);
- fab.show();
- }
- else {
- toolbar.setSubtitle(R.string.profile_subitlte_read_only);
- fab.hide();
- }
-
- int old_index = -1;
- int new_index = -1;
- if (arg != null) {
- MobileLedgerProfile old = (MobileLedgerProfile) arg;
- old_index = Data.getProfileIndex(old);
- new_index = Data.getProfileIndex(profile);
- }
-
- if ((old_index != -1) && (new_index != -1)) {
- mProfileListAdapter.notifyItemChanged(old_index);
- mProfileListAdapter.notifyItemChanged(new_index);
- }
- else mProfileListAdapter.notifyDataSetChanged();
-
- MainActivity.this.collapseProfileList();
-
- int newProfileTheme = profile.getThemeId();
- if (newProfileTheme != Colors.profileThemeId) {
- Log.d("profiles", String.format("profile theme %d → %d", Colors.profileThemeId,
- newProfileTheme));
- MainActivity.this.profileThemeChanged();
- Colors.profileThemeId = newProfileTheme;
- }
- else drawer.closeDrawers();
-
- Log.d("transactions", "requesting list reload");
- TransactionListViewModel.scheduleTransactionListReload();