diff --git a/Modules/RuuviDiscover/Sources/RuuviDiscover/VMP/View/Table/DiscoverTableHeaderView.swift b/Modules/RuuviDiscover/Sources/RuuviDiscover/VMP/View/Table/DiscoverTableHeaderView.swift index 068d60ba9..3e6b2dc4d 100644 --- a/Modules/RuuviDiscover/Sources/RuuviDiscover/VMP/View/Table/DiscoverTableHeaderView.swift +++ b/Modules/RuuviDiscover/Sources/RuuviDiscover/VMP/View/Table/DiscoverTableHeaderView.swift @@ -152,10 +152,12 @@ class DiscoverTableHeaderView: UIView { extension DiscoverTableHeaderView { func handleNFCButtonViewVisibility(show: Bool) { - nfcButtonTopConstraint.isActive = show - nfcButtonBottomConstraint.isActive = show + if isBluetoothPermissionGranted && isNFCAvailable { + nfcButtonTopConstraint.isActive = show + nfcButtonBottomConstraint.isActive = show + nfcButton.isHidden = !show + } descriptionLabelBottomConstraint.isActive = !show - nfcButton.isHidden = !show let addSensorString: String = addSensorDescriptionKey.localized(for: Self.self) let addSensorViaNFCString = addSensorViaNFCKey.localized(for: Self.self) let descriptionString = diff --git a/station.localization b/station.localization index 14e51876b..1e2526a4f 160000 --- a/station.localization +++ b/station.localization @@ -1 +1 @@ -Subproject commit 14e51876becd7974580071fd7065147f9ea85def +Subproject commit 1e2526a4fa4c26d90bb115c944b837ec3aed5166 diff --git a/station.xcodeproj/project.pbxproj b/station.xcodeproj/project.pbxproj index 942d54fcb..af3136ea8 100644 --- a/station.xcodeproj/project.pbxproj +++ b/station.xcodeproj/project.pbxproj @@ -6369,7 +6369,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 398; + CURRENT_PROJECT_VERSION = 402; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = 4MUYJ4YYH4; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 4MUYJ4YYH4; @@ -6379,7 +6379,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.3.1; OTHER_SWIFT_FLAGS = "$(inherited) -D COCOAPODS -D DEVELOPMENT"; PRODUCT_BUNDLE_IDENTIFIER = com.ruuvi.station; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -6401,7 +6401,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 398; + CURRENT_PROJECT_VERSION = 402; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = 4MUYJ4YYH4; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 4MUYJ4YYH4; @@ -6411,7 +6411,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.3.1; OTHER_SWIFT_FLAGS = "$(inherited) -D COCOAPODS"; PRODUCT_BUNDLE_IDENTIFIER = com.ruuvi.station; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -6433,7 +6433,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 398; + CURRENT_PROJECT_VERSION = 402; DEVELOPMENT_TEAM = 4MUYJ4YYH4; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 4MUYJ4YYH4; GENERATE_INFOPLIST_FILE = YES; @@ -6446,7 +6446,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.3.1; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.ruuvi.station.widgets; @@ -6470,7 +6470,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 398; + CURRENT_PROJECT_VERSION = 402; DEVELOPMENT_TEAM = 4MUYJ4YYH4; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 4MUYJ4YYH4; GENERATE_INFOPLIST_FILE = YES; @@ -6483,7 +6483,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.3.1; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.ruuvi.station.widgets; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -6505,7 +6505,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 398; + CURRENT_PROJECT_VERSION = 402; DEVELOPMENT_TEAM = 4MUYJ4YYH4; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 4MUYJ4YYH4; GENERATE_INFOPLIST_FILE = YES; @@ -6518,7 +6518,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.3.1; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.ruuvi.station.intents; @@ -6541,7 +6541,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 398; + CURRENT_PROJECT_VERSION = 402; DEVELOPMENT_TEAM = 4MUYJ4YYH4; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 4MUYJ4YYH4; GENERATE_INFOPLIST_FILE = YES; @@ -6554,7 +6554,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.3.1; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.ruuvi.station.intents; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -6693,7 +6693,7 @@ CODE_SIGN_ENTITLEMENTS = station/station.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 398; + CURRENT_PROJECT_VERSION = 402; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = 4MUYJ4YYH4; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 4MUYJ4YYH4; @@ -6735,7 +6735,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.3.1; OTHER_SWIFT_FLAGS = "$(inherited) -D COCOAPODS"; PRODUCT_BUNDLE_IDENTIFIER = com.ruuvi.station; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -6755,7 +6755,7 @@ CODE_SIGN_ENTITLEMENTS = station/station.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 398; + CURRENT_PROJECT_VERSION = 402; DEVELOPMENT_TEAM = 4MUYJ4YYH4; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 4MUYJ4YYH4; INFOPLIST_FILE = "$(SRCROOT)/station/Resources/Plists/Info.plist"; @@ -6764,7 +6764,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.3.1; OTHER_SWIFT_FLAGS = "$(inherited) -D COCOAPODS"; PRODUCT_BUNDLE_IDENTIFIER = com.ruuvi.station; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -6869,7 +6869,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 398; + CURRENT_PROJECT_VERSION = 402; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 4MUYJ4YYH4; GENERATE_INFOPLIST_FILE = YES; @@ -6882,7 +6882,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.3.1; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.ruuvi.station.pnservice; @@ -6904,7 +6904,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 398; + CURRENT_PROJECT_VERSION = 402; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 4MUYJ4YYH4; GENERATE_INFOPLIST_FILE = YES; @@ -6917,7 +6917,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.3.1; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.ruuvi.station.pnservice; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/station/Resources/Plists/DevInfo.plist b/station/Resources/Plists/DevInfo.plist index 92b2609c8..0aee76370 100644 --- a/station/Resources/Plists/DevInfo.plist +++ b/station/Resources/Plists/DevInfo.plist @@ -24,7 +24,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 398 + 402 FirebaseMessagingAutoInitEnabled LSRequiresIPhoneOS diff --git a/station/Resources/Strings/de.lproj/Localizable.strings b/station/Resources/Strings/de.lproj/Localizable.strings index 22ba79752..c0b9f31f3 100644 --- a/station/Resources/Strings/de.lproj/Localizable.strings +++ b/station/Resources/Strings/de.lproj/Localizable.strings @@ -273,7 +273,7 @@ "About.Privacy.header" = "Datenschutz-bestimmungen"; "About.Troubleshooting.contents" = "Hilfe bei der Verwendung der Ruuvi Station-Apps, Ruuvi-Produkte und des Ruuvi Cloud-Dienstes finden Sie in unserem Support-Center: ruuvi.com/support"; "About.Troubleshooting.header" = "Fehlerbehebung"; -"Interval.Hour.string" = "Stunden"; +"hours" = "Stunden"; "Interval.Days.string" = "Tage"; "TagSettings.AirHumidityAlert.title" = "Luftfeuchtigkeit (%@)"; "HumidityUnit.gm3.title" = "Absolut (g/m³)"; @@ -519,6 +519,7 @@ Ihr RuuviTag-Sensor ist einsatzbereit!"; "TagSettings.Share.title" = "Teilen"; "Menu.LoggedIn.title" = "Eingeloggt:"; "Interval.Day.string" = "Tag"; +"hour" = "Stunde"; "TagSettings.tagNameTitleLabel.rename.text" = "Ihre Sensoren werden in alphabetischer Reihenfolge angezeigt."; "On" = "An"; "Off" = "Aus"; diff --git a/station/Resources/Strings/en.lproj/Localizable.strings b/station/Resources/Strings/en.lproj/Localizable.strings index 237040ebc..ee64606b4 100644 --- a/station/Resources/Strings/en.lproj/Localizable.strings +++ b/station/Resources/Strings/en.lproj/Localizable.strings @@ -274,7 +274,7 @@ If you cannot see the Language option in the settings, make sure that you have a "About.Privacy.header" = "Privacy policy"; "About.Troubleshooting.contents" = "Find help using the Ruuvi Station apps, Ruuvi products and Ruuvi Cloud service from our support center: ruuvi.com/support"; "About.Troubleshooting.header" = "Troubleshooting"; -"Interval.Hour.string" = "Hours"; +"hours" = "Hours"; "Interval.Days.string" = "Days"; "TagSettings.AirHumidityAlert.title" = "Air Humidity (%@)"; "HumidityUnit.gm3.title" = "Absolute (g/m³)"; @@ -520,6 +520,7 @@ Your RuuviTag sensor is ready for use!"; "TagSettings.Share.title" = "Share"; "Menu.LoggedIn.title" = "Signed in:"; "Interval.Day.string" = "Day"; +"hour" = "Hour"; "TagSettings.tagNameTitleLabel.rename.text" = "Your sensors are displayed in alphabetical order."; "On" = "On"; "Off" = "Off"; diff --git a/station/Resources/Strings/fi.lproj/Localizable.strings b/station/Resources/Strings/fi.lproj/Localizable.strings index e4f4d0d47..d265df115 100644 --- a/station/Resources/Strings/fi.lproj/Localizable.strings +++ b/station/Resources/Strings/fi.lproj/Localizable.strings @@ -274,7 +274,7 @@ Mikäli et näe Kieli-valintaa asetuksissa, varmista, että sinulla on vähintä "About.Privacy.header" = "Tietosuojakäytäntö"; "About.Troubleshooting.contents" = "Löydä apua Ruuvi Station -sovellusten, Ruuvi-tuotteiden ja Ruuvi Cloud -palvelun käyttöön tukikeskuksestamme: ruuvi.com/fi/tuki"; "About.Troubleshooting.header" = "Vianetsintä"; -"Interval.Hour.string" = "tuntia"; +"hours" = "tuntia"; "Interval.Days.string" = "päivää"; "TagSettings.AirHumidityAlert.title" = "Ilmankosteus (%@)"; "HumidityUnit.gm3.title" = "Absoluuttinen (g/m³)"; @@ -520,6 +520,7 @@ RuuviTag on valmis käyttöön!"; "TagSettings.Share.title" = "Jaa"; "Menu.LoggedIn.title" = "Kirjautunut:"; "Interval.Day.string" = "päivä"; +"hour" = "tunti"; "TagSettings.tagNameTitleLabel.rename.text" = "Anturisi asettuvat automaattisesti aakkosjärjestykseen."; "On" = "Päällä"; "Off" = "Pois"; diff --git a/station/Resources/Strings/fr.lproj/Localizable.strings b/station/Resources/Strings/fr.lproj/Localizable.strings index 6b2d2191b..a3cd770bd 100644 --- a/station/Resources/Strings/fr.lproj/Localizable.strings +++ b/station/Resources/Strings/fr.lproj/Localizable.strings @@ -273,7 +273,7 @@ "About.Privacy.header" = "Protection des données personnelles"; "About.Troubleshooting.contents" = "Trouvez de l'aide en utilisant les applications Ruuvi Station, les produits Ruuvi et le service Ruuvi Cloud depuis notre centre d'assistance : ruuvi.com/support"; "About.Troubleshooting.header" = "Dépannage technique"; -"Interval.Hour.string" = "Heures"; +"hours" = "Heures"; "Interval.Days.string" = "Jours"; "TagSettings.AirHumidityAlert.title" = "Humidité de l'air (%@)"; "HumidityUnit.gm3.title" = "Absolue (g/m³)"; @@ -519,6 +519,7 @@ RuuviTag est prêt à être utilisé !"; "TagSettings.Share.title" = "Partager"; "Menu.LoggedIn.title" = "Connecté :"; "Interval.Day.string" = "Jour"; +"hour" = "Heure"; "TagSettings.tagNameTitleLabel.rename.text" = "Les capteurs sont dans l'ordre alphabétique."; "On" = "Activé"; "Off" = "Désactivé"; diff --git a/station/Resources/Strings/ru.lproj/Localizable.strings b/station/Resources/Strings/ru.lproj/Localizable.strings index d4e4f6053..50a94fba6 100644 --- a/station/Resources/Strings/ru.lproj/Localizable.strings +++ b/station/Resources/Strings/ru.lproj/Localizable.strings @@ -274,7 +274,7 @@ If you cannot see the Language option in the settings, make sure that you have a "About.Privacy.header" = "Политика конфиденциальности"; "About.Troubleshooting.contents" = "Получите помощь по использованию приложений Ruuvi Station, продуктов Ruuvi и облачной службы Ruuvi в нашем центре поддержки: ruuvi.com/support"; "About.Troubleshooting.header" = "Решение проблем"; -"Interval.Hour.string" = "Часов"; +"hours" = "Часов"; "Interval.Days.string" = "Дней"; "TagSettings.AirHumidityAlert.title" = "Влажность воздуха (%@)"; "HumidityUnit.gm3.title" = "Абсолютная влажность (г/м³)"; @@ -520,6 +520,7 @@ If you cannot see the Language option in the settings, make sure that you have a "TagSettings.Share.title" = "Поделиться"; "Menu.LoggedIn.title" = "Пользователь:"; "Interval.Day.string" = "день"; +"hour" = "час"; "TagSettings.tagNameTitleLabel.rename.text" = "Датчики будут отсортированы в алфавитном порядке."; "On" = "Вкл"; "Off" = "Выкл"; diff --git a/station/Resources/Strings/sv.lproj/Localizable.strings b/station/Resources/Strings/sv.lproj/Localizable.strings index 5ccbc2211..2d1357c48 100644 --- a/station/Resources/Strings/sv.lproj/Localizable.strings +++ b/station/Resources/Strings/sv.lproj/Localizable.strings @@ -274,7 +274,7 @@ Om du inte kan se språkalternativet i inställningarna, se till att du har lagt "About.Privacy.header" = "Integritetspolicy"; "About.Troubleshooting.contents" = "Hitta hjälp med att använda Ruuvi Station-appar, Ruuvi-produkter och Ruuvi Cloud-tjänst från vårt supportcenter: ruuvi.com/support"; "About.Troubleshooting.header" = "Felsökning"; -"Interval.Hour.string" = "Timmar"; +"hours" = "Timmar"; "Interval.Days.string" = "Dagar"; "TagSettings.AirHumidityAlert.title" = "Luftfuktighet (%@)"; "HumidityUnit.gm3.title" = "Absolut (g/m³)"; @@ -520,6 +520,7 @@ RuuviTag-sensorn är redo att användas!"; "TagSettings.Share.title" = "Dela"; "Menu.LoggedIn.title" = "Inloggad:"; "Interval.Day.string" = "Dag"; +"hour" = "Timme"; "TagSettings.tagNameTitleLabel.rename.text" = "Dina sensorer kommer att vara i alfabetisk ordning."; "On" = "På"; "Off" = "Av";