Fix account settings drawer item disappearing after deleting an account
This commit is contained in:
parent
6751e9acca
commit
c64c341842
app/src/main/java/com/readrops/app
@ -194,6 +194,7 @@ public class MainActivity extends AppCompatActivity implements SwipeRefreshLayou
|
|||||||
|
|
||||||
if (drawer == null) {
|
if (drawer == null) {
|
||||||
drawer = drawerManager.buildDrawer(accounts);
|
drawer = drawerManager.buildDrawer(accounts);
|
||||||
|
drawer.setSelection(DrawerManager.ARTICLES_ITEM_ID);
|
||||||
updateDrawerFeeds();
|
updateDrawerFeeds();
|
||||||
} else if (accounts.size() < drawerManager.getNumberOfProfiles() && accounts.size() > 0) {
|
} else if (accounts.size() < drawerManager.getNumberOfProfiles() && accounts.size() > 0) {
|
||||||
drawerManager.updateHeader(accounts);
|
drawerManager.updateHeader(accounts);
|
||||||
@ -213,7 +214,6 @@ public class MainActivity extends AppCompatActivity implements SwipeRefreshLayou
|
|||||||
onRefresh();
|
onRefresh();
|
||||||
savedInstanceState.clear();
|
savedInstanceState.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,8 +122,6 @@ public class DrawerManager {
|
|||||||
for (SecondaryDrawerItem primaryDrawerItem : feedsWithoutFolder) {
|
for (SecondaryDrawerItem primaryDrawerItem : feedsWithoutFolder) {
|
||||||
drawer.addItem(primaryDrawerItem);
|
drawer.addItem(primaryDrawerItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
drawer.setSelection(ARTICLES_ITEM_ID);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createAccountHeader(List<Account> accounts) {
|
private void createAccountHeader(List<Account> accounts) {
|
||||||
@ -140,20 +138,9 @@ public class DrawerManager {
|
|||||||
profileItems[i] = profileItem;
|
profileItems[i] = profileItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
ProfileSettingDrawerItem addAccountSettingsItem = new ProfileSettingDrawerItem()
|
|
||||||
.withName(R.string.add_account)
|
|
||||||
.withIcon(R.drawable.ic_add_account_grey)
|
|
||||||
.withIdentifier(ADD_ACCOUNT_ID);
|
|
||||||
|
|
||||||
ProfileSettingDrawerItem accountSettingsItem = new ProfileSettingDrawerItem()
|
|
||||||
.withName(R.string.account_settings)
|
|
||||||
.withIcon(R.drawable.ic_settings)
|
|
||||||
.withIdentifier(ACCOUNT_SETTINGS_ID);
|
|
||||||
|
|
||||||
header = new AccountHeaderBuilder()
|
header = new AccountHeaderBuilder()
|
||||||
.withActivity(activity)
|
.withActivity(activity)
|
||||||
.addProfiles(profileItems)
|
.addProfiles(profileItems)
|
||||||
.addProfiles(accountSettingsItem, addAccountSettingsItem)
|
|
||||||
.withDividerBelowHeader(false)
|
.withDividerBelowHeader(false)
|
||||||
.withAlternativeProfileHeaderSwitching(true)
|
.withAlternativeProfileHeaderSwitching(true)
|
||||||
.withCurrentProfileHiddenInList(true)
|
.withCurrentProfileHiddenInList(true)
|
||||||
@ -163,6 +150,7 @@ public class DrawerManager {
|
|||||||
.withOnAccountHeaderListener(headerListener)
|
.withOnAccountHeaderListener(headerListener)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
addProfileSettingItems();
|
||||||
header.setActiveProfile(currentAccountId);
|
header.setActiveProfile(currentAccountId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -233,6 +221,20 @@ public class DrawerManager {
|
|||||||
drawer.addItem(new DividerDrawerItem());
|
drawer.addItem(new DividerDrawerItem());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addProfileSettingItems() {
|
||||||
|
ProfileSettingDrawerItem accountSettingsItem = new ProfileSettingDrawerItem()
|
||||||
|
.withName(R.string.account_settings)
|
||||||
|
.withIcon(R.drawable.ic_settings)
|
||||||
|
.withIdentifier(ACCOUNT_SETTINGS_ID);
|
||||||
|
|
||||||
|
ProfileSettingDrawerItem addAccountSettingsItem = new ProfileSettingDrawerItem()
|
||||||
|
.withName(R.string.add_account)
|
||||||
|
.withIcon(R.drawable.ic_add_account_grey)
|
||||||
|
.withIdentifier(ADD_ACCOUNT_ID);
|
||||||
|
|
||||||
|
header.addProfiles(accountSettingsItem, addAccountSettingsItem);
|
||||||
|
}
|
||||||
|
|
||||||
public void addAccount(Account account, boolean currentProfile) {
|
public void addAccount(Account account, boolean currentProfile) {
|
||||||
ProfileDrawerItem profileItem = createProfileItem(account);
|
ProfileDrawerItem profileItem = createProfileItem(account);
|
||||||
|
|
||||||
@ -244,13 +246,7 @@ public class DrawerManager {
|
|||||||
|
|
||||||
public void updateHeader(List<Account> accounts) {
|
public void updateHeader(List<Account> accounts) {
|
||||||
header.clear();
|
header.clear();
|
||||||
|
addProfileSettingItems();
|
||||||
ProfileSettingDrawerItem addAccountSettingsItem = new ProfileSettingDrawerItem()
|
|
||||||
.withName(R.string.add_account)
|
|
||||||
.withIcon(R.drawable.ic_add_account_grey)
|
|
||||||
.withIdentifier(ADD_ACCOUNT_ID);
|
|
||||||
|
|
||||||
header.addProfiles(addAccountSettingsItem);
|
|
||||||
|
|
||||||
for (Account account : accounts) {
|
for (Account account : accounts) {
|
||||||
addAccount(account, account.isCurrentAccount());
|
addAccount(account, account.isCurrentAccount());
|
||||||
@ -296,4 +292,8 @@ public class DrawerManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDrawerSelection(long identifier) {
|
||||||
|
drawer.setSelection(identifier);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user