diff --git a/.swiftlint.yml b/.swiftlint.yml index c604212fb..9ff9dc0c8 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -3,7 +3,7 @@ excluded: - ownCloudScreenshotsTests - external -function_body_length: 100 +#function_body_length: 100 # warning_threshold: 5 # line_length: # warning: 300 @@ -33,8 +33,10 @@ disabled_rules: - function_body_length - implicit_getter - computed_accessors_order - - unneeded_notification_center_removal - function_parameter_count + - comment_spacing + - unused_closure_parameter +# - unneeded_notification_center_removal custom_rules: empty_line_after_guard_statement: included: ".*\\.swift" diff --git a/ios-sdk b/ios-sdk index 641770230..66ea6296e 160000 --- a/ios-sdk +++ b/ios-sdk @@ -1 +1 @@ -Subproject commit 64177023092b684883680227c568451b187fd7d6 +Subproject commit 66ea6296e15b306ecfa9ab50f4765b0a6858932a diff --git a/ownCloudAppFramework/Branding/Branding.h b/ownCloudAppFramework/Branding/Branding.h index 85a7e7f6f..20ddc801f 100644 --- a/ownCloudAppFramework/Branding/Branding.h +++ b/ownCloudAppFramework/Branding/Branding.h @@ -51,6 +51,7 @@ typedef NSString* BrandingImageName NS_TYPED_EXTENSIBLE_ENUM; @property(assign,nonatomic,readonly) BOOL brandingPropertiesFromLocalFile; @property(strong,nullable,nonatomic,readonly) NSString *appName; //!< Custom app name +@property(strong,nonatomic,readonly) NSString *appDisplayName; //!< Branded app name, drawing from .appName, .organizationName and OCAppIdentity, with "ownCloud" as fallback @property(strong,nullable,nonatomic,readonly) NSString *organizationName; //!< Custom organization name @property(strong,nullable,nonatomic,readonly) NSArray *disabledImportMethods; //!< Disabled file import methods diff --git a/ownCloudAppFramework/Branding/Branding.m b/ownCloudAppFramework/Branding/Branding.m index b62acbf8d..c66bcdb37 100644 --- a/ownCloudAppFramework/Branding/Branding.m +++ b/ownCloudAppFramework/Branding/Branding.m @@ -202,6 +202,9 @@ - (instancetype)init { [(id)self initializeSharedBranding]; } + + // Set app.name localization variable to branded name + [OCLocaleFilterVariables.shared setVariable:@"app.name" value:self.appDisplayName]; } return (self); @@ -241,6 +244,17 @@ - (NSString *)organizationName return ([self computedValueForClassSettingsKey:BrandingKeyOrganizationName]); } +- (NSString *)appDisplayName +{ + NSString *appName; + + if ((appName = self.appName) != nil) { return (appName); } + if ((appName = self.organizationName) != nil) { return (appName); } + if ((appName = OCAppIdentity.sharedAppIdentity.appDisplayName) != nil) { return (appName); } + + return (@"ownCloud"); +} + - (NSDictionary *)userDefaultsDefaultValues { return ([self computedValueForClassSettingsKey:BrandingKeyUserDefaultsDefaultValues]); diff --git a/ownCloudAppFramework/Branding/BrandingClassSettingsSource.m b/ownCloudAppFramework/Branding/BrandingClassSettingsSource.m index eae88b71c..cbe9ff816 100644 --- a/ownCloudAppFramework/Branding/BrandingClassSettingsSource.m +++ b/ownCloudAppFramework/Branding/BrandingClassSettingsSource.m @@ -25,6 +25,8 @@ + (void)load { [OCClassSettings.sharedSettings insertSource:[BrandingClassSettingsSource new] before:OCClassSettingsSourceIdentifierManaged after:nil]; [Branding.sharedBranding registerUserDefaultsDefaults]; + + [OCLocaleFilterClassSettings.shared pullFromClassSettings]; } - (OCClassSettingsSourceIdentifier)settingsSourceIdentifier diff --git a/ownCloudAppShared/Foundation Extensions/String+Extension.swift b/ownCloudAppShared/Foundation Extensions/String+Extension.swift index dadab3612..3569d66d2 100644 --- a/ownCloudAppShared/Foundation Extensions/String+Extension.swift +++ b/ownCloudAppShared/Foundation Extensions/String+Extension.swift @@ -18,6 +18,7 @@ import Foundation import UIKit +import ownCloudSDK private let _sharedAppBundle = Bundle(identifier: "com.owncloud.ownCloudAppShared") @@ -30,11 +31,11 @@ public extension Bundle { extension String { public var localized: String { - return NSLocalizedString(self, comment: "") + return OCLocale.localize(self) } - public var slocalized : String { - return NSLocalizedString(self, tableName: nil, bundle: Bundle.sharedAppBundle, value: self, comment: "") + public func localized(_ replacements: [ String : String ]) -> String { + return OCLocale.localize(self, options: [OCLocaleOptionKeyVariables : replacements]) } public var isNumeric: Bool { diff --git a/ownCloudAppShared/Tools/VendorServices.swift b/ownCloudAppShared/Tools/VendorServices.swift index 35a93734b..e44f5b15f 100644 --- a/ownCloudAppShared/Tools/VendorServices.swift +++ b/ownCloudAppShared/Tools/VendorServices.swift @@ -68,15 +68,7 @@ public class VendorServices : NSObject { } public var appName: String { - if let appName = Branding.shared.appName { - return appName - } - - if let organizationName = Branding.shared.organizationName { - return organizationName - } - - return OCAppIdentity.shared.appDisplayName ?? "ownCloud" + return Branding.shared.appDisplayName } public var feedbackMail: String? {