GODT-1740: Opt-out All Mail visibility in settings file.

This commit is contained in:
Jakub
2022-07-28 10:52:40 +02:00
parent 252ca9a5f9
commit 8b39ea4acb
9 changed files with 100 additions and 13 deletions

View File

@ -57,8 +57,9 @@ type Bridge struct {
// Bridge's global errors list.
errors []error
isFirstStart bool
lastVersion string
isAllMailVisible bool
isFirstStart bool
lastVersion string
}
func New(
@ -92,15 +93,16 @@ func New(
)
b := &Bridge{
Users: u,
locations: locations,
settings: setting,
clientManager: clientManager,
updater: updater,
versioner: versioner,
cacheProvider: cacheProvider,
autostart: autostart,
isFirstStart: false,
Users: u,
locations: locations,
settings: setting,
clientManager: clientManager,
updater: updater,
versioner: versioner,
cacheProvider: cacheProvider,
autostart: autostart,
isFirstStart: false,
isAllMailVisible: setting.GetBool(settings.IsAllMailVisible),
}
if setting.GetBool(settings.FirstStartKey) {
@ -302,3 +304,14 @@ func (b *Bridge) GetLastVersion() string {
func (b *Bridge) IsFirstStart() bool {
return b.isFirstStart
}
// IsAllMailVisible can be called extensively by IMAP. Therefore, it is better
// to cache the value instead of reading from settings file.
func (b *Bridge) IsAllMailVisible() bool {
return b.isAllMailVisible
}
func (b *Bridge) SetIsAllMailVisible(isVisible bool) {
b.settings.SetBool(settings.IsAllMailVisible, isVisible)
b.isAllMailVisible = isVisible
}