From 1d0bf8081fe4ae33d3688d20eb776c39f0fdfaed Mon Sep 17 00:00:00 2001 From: cpilaszewicz <cezipil@fu-berlin.de> Date: Mon, 30 Mar 2020 15:32:06 +0200 Subject: [PATCH] Introduce new gamification element --- enzevalos_iphone/Badges.swift | 10 ++++++++++ enzevalos_iphone/GamificationData.swift | 19 ++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/enzevalos_iphone/Badges.swift b/enzevalos_iphone/Badges.swift index 2766e91d..2cc44c8f 100755 --- a/enzevalos_iphone/Badges.swift +++ b/enzevalos_iphone/Badges.swift @@ -35,6 +35,7 @@ enum BadgeType: Int { case onBoarding case inviteAFriend case Ambassador + case friendlyKeyMaster case MailMaster case MailMaster1 @@ -51,6 +52,11 @@ enum BadgeType: Int { case SecureMailMaster100 case SecureMailMaster1000 case None // for SubBadge + + case FriendlyKeyMaster + case FriendlyKeyMaster10 + case FriendlyKeyMaster50 + case FriendlyKeyMaster100 } /** @@ -72,6 +78,10 @@ enum Achievment { case SecureMails1000 case SecureSend case SecureReceived + case FriendlyKeyMaster1 + case FriendlyKeyMaster10 + case FriendlyKeyMaster50 + case FriendlyKeyMaster100 } /** diff --git a/enzevalos_iphone/GamificationData.swift b/enzevalos_iphone/GamificationData.swift index 11c2eb5f..7f2e34f5 100755 --- a/enzevalos_iphone/GamificationData.swift +++ b/enzevalos_iphone/GamificationData.swift @@ -43,7 +43,8 @@ class GamificationData: NSObject { Badges.init(type: .SecureMailMaster , pictureOff: "verschluesseltOff", pictureOn: "verschluesseltOn", segue: .LinearBadge, displayName: NSLocalizedString("Secure Mailmaster", comment:"Secure Mailmaster badge" )), Badges.init(type: .onBoarding, pictureOff: "onboardingOff", pictureOn: "onboardingOn", segue: .LinearBadge, displayName: NSLocalizedString("Onboarded", comment:"Onboarded" )), Badges.init(type: .inviteAFriend, pictureOff: "invitefriendOff", pictureOn: "invitefriendOn", segue: .inviteFriend, displayName: NSLocalizedString("Invite a friend", comment: "Invite a friend" )), - Badges.init(type: .Ambassador, pictureOff: "ambassadorOff", pictureOn: "ambassadorOn", segue: .inviteFriend, displayName: NSLocalizedString("Ambassador", comment:"Ambassador" )) + Badges.init(type: .Ambassador, pictureOff: "ambassadorOff", pictureOn: "ambassadorOn", segue: .inviteFriend, displayName: NSLocalizedString("Ambassador", comment:"Ambassador" )), + Badges.init(type: .friendlyKeyMaster, pictureOff: "keymasterOff", pictureOn: "keymasterOn", segue: .LinearBadge, displayName: NSLocalizedString("Friendly Key Master", comment: "Friendly Key Master" )) ] @@ -89,6 +90,14 @@ class GamificationData: NSObject { Badges.init(type: .SecureMailMaster100 , pictureOff: "verschluesseltOff", pictureOn: "verschluesseltOn", displayName: NSLocalizedString("100 secure Mails Send/Received", comment:"SecureMailMaster Subbadge" ), achievmentsNeeded: [.SecureMails100]), Badges.init(type: .SecureMailMaster1000 , pictureOff: "verschluesseltOff", pictureOn: "verschluesseltOn", displayName: NSLocalizedString("1000 secure Mails Send/Received", comment:"SecureMailMaster Subbadge" ), achievmentsNeeded: [.SecureMails1000]) ] + + case .friendlyKeyMaster: + return [ + Badges.init(type: .FriendlyKeyMaster , pictureOff: "keymasterOff", pictureOn: "keymasterOn", displayName: NSLocalizedString("One friends public key stored", comment:"FriendlyKeyMaster Subbadge" ), achievmentsNeeded: [.FriendlyKeyMaster1 ]), + Badges.init(type: .FriendlyKeyMaster10 , pictureOff: "keymasterOff", pictureOn: "keymasterOn", displayName: NSLocalizedString("10 friends public keys stored", comment:"FriendlyKeyMaster Subbadge" ), achievmentsNeeded: [.FriendlyKeyMaster10 ]), + Badges.init(type: .FriendlyKeyMaster50 , pictureOff: "keymasterOff", pictureOn: "keymasterOn", displayName: NSLocalizedString("50 friends public keys stored", comment:"FriendlyKeyMaster Subbadge" ), achievmentsNeeded: [.FriendlyKeyMaster50 ]), + Badges.init(type: .FriendlyKeyMaster100 , pictureOff: "keymasterOff", pictureOn: "keymasterOn", displayName: NSLocalizedString("100 friends public keys stored", comment:"FriendlyKeyMaster Subbadge" ), achievmentsNeeded: [.FriendlyKeyMaster100]) + ] default: return [Badges]() @@ -286,6 +295,14 @@ class GamificationData: NSObject { return secureMailsSend > 0 case .SecureReceived: return secureMailsReceived > 0 + case .FriendlyKeyMaster1: + return secureContactsCount > 0 + case .FriendlyKeyMaster10: + return secureContactsCount > 9 + case .FriendlyKeyMaster50: + return secureContactsCount > 49 + case .FriendlyKeyMaster100: + return secureContactsCount > 99 // default: return false } } -- GitLab