diff options
author | kali kaneko (leap communications) <kali@leap.se> | 2020-06-22 22:00:23 +0200 |
---|---|---|
committer | kali kaneko (leap communications) <kali@leap.se> | 2020-06-26 12:13:44 +0200 |
commit | 06a7453984adca0b34e62421a1baa8fe54b0d7bb (patch) | |
tree | 4eb7d0f31d540c33d2d6f53ed44257c06a4d8220 /pkg/backend/donate.go | |
parent | 20266b063c1be8818d4582bff7b59486551ee447 (diff) |
[refactor] several simplifications after review
- simplify notification routine (we dont need no rejected action). we
just check every hour, as in the original code.
- open links directly from Qt
- rename some global variables to make them less cryptic
- move cleanup function to the same module that created them
Diffstat (limited to 'pkg/backend/donate.go')
-rw-r--r-- | pkg/backend/donate.go | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/pkg/backend/donate.go b/pkg/backend/donate.go index 608128f..20d5613 100644 --- a/pkg/backend/donate.go +++ b/pkg/backend/donate.go @@ -1,12 +1,24 @@ package backend import ( - "log" "time" "0xacab.org/leap/bitmask-vpn/pkg/config" ) +// runDonationReminder checks every hour if we need to show the reminder, +// and trigger the launching of the dialog if needed. +func runDonationReminder() { + go func() { + for { + time.Sleep(time.Hour) + if needsDonationReminder() { + showDonate() + } + } + }() +} + func wantDonations() bool { if config.AskForDonations == "true" { return true @@ -19,25 +31,16 @@ func needsDonationReminder() bool { } func donateAccepted() { - stmut.Lock() - defer stmut.Unlock() + statusMutex.Lock() + defer statusMutex.Unlock() ctx.DonateDialog = false - log.Println("marking as donated") ctx.cfg.SetDonated() go trigger(OnStatusChanged) } -func donateRejected() { - timer := time.NewTimer(time.Hour) - go func() { - <-timer.C - showDonate() - }() -} - func showDonate() { - stmut.Lock() - defer stmut.Unlock() + statusMutex.Lock() + defer statusMutex.Unlock() ctx.DonateDialog = true ctx.cfg.SetLastReminded() go trigger(OnStatusChanged) |