summaryrefslogtreecommitdiff
path: root/pkg/backend/donate.go
diff options
context:
space:
mode:
authorkali kaneko (leap communications) <kali@leap.se>2020-06-22 22:00:23 +0200
committerkali kaneko (leap communications) <kali@leap.se>2020-06-26 12:13:44 +0200
commit06a7453984adca0b34e62421a1baa8fe54b0d7bb (patch)
tree4eb7d0f31d540c33d2d6f53ed44257c06a4d8220 /pkg/backend/donate.go
parent20266b063c1be8818d4582bff7b59486551ee447 (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.go31
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)