make it possible to switch accounts when active account fails to load
This commit is contained in:
parent
d5ed2f9a40
commit
254be4b21c
1 changed files with 25 additions and 13 deletions
|
@ -296,6 +296,10 @@ public class MainActivity extends BaseActivity implements ActionButtonActivity {
|
||||||
.findViewById(R.id.material_drawer_account_header_current)
|
.findViewById(R.id.material_drawer_account_header_current)
|
||||||
.setContentDescription(getString(R.string.action_view_profile));
|
.setContentDescription(getString(R.string.action_view_profile));
|
||||||
|
|
||||||
|
ImageView background = headerResult.getHeaderBackgroundView();
|
||||||
|
background.setColorFilter(ContextCompat.getColor(this, R.color.header_background_filter));
|
||||||
|
background.setBackgroundColor(ContextCompat.getColor(this, R.color.window_background_dark));
|
||||||
|
|
||||||
DrawerImageLoader.init(new AbstractDrawerImageLoader() {
|
DrawerImageLoader.init(new AbstractDrawerImageLoader() {
|
||||||
@Override
|
@Override
|
||||||
public void set(ImageView imageView, Uri uri, Drawable placeholder, String tag) {
|
public void set(ImageView imageView, Uri uri, Drawable placeholder, String tag) {
|
||||||
|
@ -390,6 +394,8 @@ public class MainActivity extends BaseActivity implements ActionButtonActivity {
|
||||||
.withEnabled(false);
|
.withEnabled(false);
|
||||||
drawer.addItem(debugItem);
|
drawer.addItem(debugItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateProfiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean handleProfileClick(IProfile profile, boolean current) {
|
private boolean handleProfileClick(IProfile profile, boolean current) {
|
||||||
|
@ -478,9 +484,9 @@ public class MainActivity extends BaseActivity implements ActionButtonActivity {
|
||||||
|
|
||||||
private void onFetchUserInfoSuccess(Account me) {
|
private void onFetchUserInfoSuccess(Account me) {
|
||||||
// Add the header image and avatar from the account, into the navigation drawer header.
|
// Add the header image and avatar from the account, into the navigation drawer header.
|
||||||
|
|
||||||
ImageView background = headerResult.getHeaderBackgroundView();
|
ImageView background = headerResult.getHeaderBackgroundView();
|
||||||
background.setColorFilter(ContextCompat.getColor(this, R.color.header_background_filter));
|
|
||||||
background.setBackgroundColor(ContextCompat.getColor(this, R.color.window_background_dark));
|
|
||||||
Picasso.with(MainActivity.this)
|
Picasso.with(MainActivity.this)
|
||||||
.load(me.header)
|
.load(me.header)
|
||||||
.placeholder(R.drawable.account_header_default)
|
.placeholder(R.drawable.account_header_default)
|
||||||
|
@ -492,6 +498,23 @@ public class MainActivity extends BaseActivity implements ActionButtonActivity {
|
||||||
|
|
||||||
NotificationHelper.createNotificationChannelsForAccount(am.getActiveAccount(), this);
|
NotificationHelper.createNotificationChannelsForAccount(am.getActiveAccount(), this);
|
||||||
|
|
||||||
|
// Show follow requests in the menu, if this is a locked account.
|
||||||
|
if (me.locked && drawer.getDrawerItem(DRAWER_ITEM_FOLLOW_REQUESTS) == null) {
|
||||||
|
PrimaryDrawerItem followRequestsItem = new PrimaryDrawerItem()
|
||||||
|
.withIdentifier(DRAWER_ITEM_FOLLOW_REQUESTS)
|
||||||
|
.withName(R.string.action_view_follow_requests)
|
||||||
|
.withSelectable(false)
|
||||||
|
.withIcon(GoogleMaterial.Icon.gmd_person_add);
|
||||||
|
drawer.addItemAtPosition(followRequestsItem, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
updateProfiles();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateProfiles() {
|
||||||
|
AccountManager am = TuskyApplication.getAccountManager();
|
||||||
|
|
||||||
List<AccountEntity> allAccounts = am.getAllAccountsOrderedByActive();
|
List<AccountEntity> allAccounts = am.getAllAccountsOrderedByActive();
|
||||||
|
|
||||||
//remove profiles before adding them again to avoid duplicates
|
//remove profiles before adding them again to avoid duplicates
|
||||||
|
@ -510,17 +533,6 @@ public class MainActivity extends BaseActivity implements ActionButtonActivity {
|
||||||
.withNameShown(true)
|
.withNameShown(true)
|
||||||
.withIdentifier(acc.getId())
|
.withIdentifier(acc.getId())
|
||||||
.withEmail(acc.getFullName()));
|
.withEmail(acc.getFullName()));
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Show follow requests in the menu, if this is a locked account.
|
|
||||||
if (me.locked && drawer.getDrawerItem(DRAWER_ITEM_FOLLOW_REQUESTS) == null) {
|
|
||||||
PrimaryDrawerItem followRequestsItem = new PrimaryDrawerItem()
|
|
||||||
.withIdentifier(DRAWER_ITEM_FOLLOW_REQUESTS)
|
|
||||||
.withName(R.string.action_view_follow_requests)
|
|
||||||
.withSelectable(false)
|
|
||||||
.withIcon(GoogleMaterial.Icon.gmd_person_add);
|
|
||||||
drawer.addItemAtPosition(followRequestsItem, 3);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue