- Data.accounts.clear();
- AccountSummaryViewModel.scheduleAccountListReload();
-
- if (profile == null) MainActivity.this.setTitle(R.string.app_name);
- else MainActivity.this.setTitle(profile.getName());
- MainActivity.this.updateLastUpdateTextFromDB();
- 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 == null) ? -1 : profile.getThemeId();
- if (newProfileTheme != Colors.profileThemeId) {
- Log.d("profiles",
- String.format("profile theme %d → %d", Colors.profileThemeId,
- newProfileTheme));
- MainActivity.this.profileThemeChanged();
- Colors.profileThemeId = newProfileTheme;
- // profileThemeChanged would restart the activity, so no need to reload the
- // data sets below
- return;
- }
- drawer.closeDrawers();
-
- if (profile == null) {
- toolbar.setSubtitle(null);
- fab.hide();
- }
- else {
- if (profile.isPostingPermitted()) {
- toolbar.setSubtitle(null);
- fab.show();
- }
- else {
- toolbar.setSubtitle(R.string.profile_subitlte_read_only);
- fab.hide();
- }
- }
- });
- };
- Data.profile.addObserver(profileObserver);
- }
-
- if (profilesObserver == null) {
- profilesObserver = (o, arg) -> {
- findViewById(R.id.nav_profile_list).setMinimumHeight(
- (int) (getResources().getDimension(R.dimen.thumb_row_height) *
- Data.profiles.size()));
-
- Log.d("profiles", "profile list changed");
- if (arg == null) mProfileListAdapter.notifyDataSetChanged();
- else mProfileListAdapter.notifyItemChanged((int) arg);
- };
- Data.profiles.addObserver(profilesObserver);
+ if (barDrawerToggle == null) {
+ barDrawerToggle = new ActionBarDrawerToggle(this, drawer, mToolbar,
+ R.string.navigation_drawer_open, R.string.navigation_drawer_close);
+ drawer.addDrawerListener(barDrawerToggle);