Instrument metrics for iOS for the IA project #5401

- updates after review
This commit is contained in:
Gil Eluard
2022-03-17 10:48:00 +01:00
parent e14227c836
commit beeddf2fb4
2 changed files with 8 additions and 27 deletions
@@ -17,32 +17,7 @@
import Foundation
class AnalyticsSpaceTracker {
// MARK: - Constants
private enum Constants {
static let lastNumberOfSpaces: String = "AnalyticsSpaceTracker.lastNumberOfSpaces"
}
// Last number of spaces tracked
private var lastNumberOfSpaces: Int? {
get {
guard let value = UserDefaults.standard.value(forKey: Constants.lastNumberOfSpaces) as? NSNumber else {
return nil
}
return value.intValue
}
set {
guard let value = newValue else {
UserDefaults.standard.removeObject(forKey: Constants.lastNumberOfSpaces)
return
}
UserDefaults.standard.setValue(NSNumber(value: value), forKey: Constants.lastNumberOfSpaces)
}
}
// MARK: - Setup
init() {
@@ -62,11 +37,11 @@ class AnalyticsSpaceTracker {
private func trackSpaceNumber(with spaceService: MXSpaceService) {
let spaceNumber = spaceService.spaceSummaries.filter { $0.membership == .join }.count
guard lastNumberOfSpaces != spaceNumber else {
guard RiotSettings.shared.lastNumberOfTrackedSpaces != spaceNumber else {
return
}
Analytics.shared.updateUserProperties(numSpaces: spaceNumber)
lastNumberOfSpaces = spaceNumber
RiotSettings.shared.lastNumberOfTrackedSpaces = spaceNumber
}
}