Include app name in default session display name (#227)

This commit is contained in:
Johannes Marbach
2022-10-14 14:44:41 +02:00
committed by GitHub
parent 7204ca5d45
commit 342d25f4c1
11 changed files with 18 additions and 7 deletions
@@ -27,3 +27,6 @@
"login_tablet_device" = "Tablet"; "login_tablet_device" = "Tablet";
"a11y_all_chats_user_avatar_menu" = "User menu"; "a11y_all_chats_user_avatar_menu" = "User menu";
// Parameter is the application display name (e.g. "ElementX")
"default_session_display_name" = "%@ iOS";
@@ -13,6 +13,7 @@ internal enum ElementInfoPlist {
private static let _document = PlistDocument(path: "Info.plist") private static let _document = PlistDocument(path: "Info.plist")
internal static let cfBundleDevelopmentRegion: String = _document["CFBundleDevelopmentRegion"] internal static let cfBundleDevelopmentRegion: String = _document["CFBundleDevelopmentRegion"]
internal static let cfBundleDisplayName: String = _document["CFBundleDisplayName"]
internal static let cfBundleExecutable: String = _document["CFBundleExecutable"] internal static let cfBundleExecutable: String = _document["CFBundleExecutable"]
internal static let cfBundleIdentifier: String = _document["CFBundleIdentifier"] internal static let cfBundleIdentifier: String = _document["CFBundleIdentifier"]
internal static let cfBundleInfoDictionaryVersion: String = _document["CFBundleInfoDictionaryVersion"] internal static let cfBundleInfoDictionaryVersion: String = _document["CFBundleInfoDictionaryVersion"]
@@ -16,6 +16,10 @@ extension ElementL10n {
public static let actionConfirm = ElementL10n.tr("Untranslated", "action_confirm") public static let actionConfirm = ElementL10n.tr("Untranslated", "action_confirm")
/// Match /// Match
public static let actionMatch = ElementL10n.tr("Untranslated", "action_match") public static let actionMatch = ElementL10n.tr("Untranslated", "action_match")
/// %@ iOS
public static func defaultSessionDisplayName(_ p1: Any) -> String {
return ElementL10n.tr("Untranslated", "default_session_display_name", String(describing: p1))
}
/// Mobile /// Mobile
public static let loginMobileDevice = ElementL10n.tr("Untranslated", "login_mobile_device") public static let loginMobileDevice = ElementL10n.tr("Untranslated", "login_mobile_device")
/// Tablet /// Tablet
@@ -23,7 +23,6 @@ extension UIDevice {
} }
var initialDisplayName: String { var initialDisplayName: String {
let string = isPhone ? ElementL10n.loginMobileDevice : ElementL10n.loginTabletDevice ElementL10n.defaultSessionDisplayName(ElementInfoPlist.cfBundleDisplayName)
return "X \(string)"
} }
} }
@@ -44,10 +44,10 @@ struct AnalyticsPromptStrings {
init() { init() {
// Create the opt in content with a placeholder. // Create the opt in content with a placeholder.
let linkPlaceholder = "{link}" let linkPlaceholder = "{link}"
var optInContent = AttributedString(ElementL10n.analyticsOptInContent(ElementInfoPlist.cfBundleName, linkPlaceholder)) var optInContent = AttributedString(ElementL10n.analyticsOptInContent(ElementInfoPlist.cfBundleDisplayName, linkPlaceholder))
guard let range = optInContent.range(of: linkPlaceholder) else { guard let range = optInContent.range(of: linkPlaceholder) else {
self.optInContent = AttributedString(ElementL10n.analyticsOptInContent(ElementInfoPlist.cfBundleName, self.optInContent = AttributedString(ElementL10n.analyticsOptInContent(ElementInfoPlist.cfBundleDisplayName,
ElementL10n.analyticsOptInContentLink)) ElementL10n.analyticsOptInContentLink))
MXLog.failure("Failed to add a link attribute to the opt in content.") MXLog.failure("Failed to add a link attribute to the opt in content.")
return return
@@ -67,7 +67,7 @@ struct AnalyticsPrompt: View {
Image(uiImage: Asset.Images.analyticsLogo.image) Image(uiImage: Asset.Images.analyticsLogo.image)
.padding(.bottom, 25) .padding(.bottom, 25)
Text(ElementL10n.analyticsOptInTitle(ElementInfoPlist.cfBundleName)) Text(ElementL10n.analyticsOptInTitle(ElementInfoPlist.cfBundleDisplayName))
.font(.element.title2Bold) .font(.element.title2Bold)
.multilineTextAlignment(.center) .multilineTextAlignment(.center)
.foregroundColor(.element.primaryContent) .foregroundColor(.element.primaryContent)
@@ -101,7 +101,7 @@ final class HomeScreenCoordinator: Coordinator, Presentable {
guard let permalink = try? PermalinkBuilder.permalinkTo(userIdentifier: parameters.userSession.userID).absoluteString else { guard let permalink = try? PermalinkBuilder.permalinkTo(userIdentifier: parameters.userSession.userID).absoluteString else {
return return
} }
let shareText = ElementL10n.inviteFriendsText(ElementInfoPlist.cfBundleName, permalink) let shareText = ElementL10n.inviteFriendsText(ElementInfoPlist.cfBundleDisplayName, permalink)
let vc = UIActivityViewController(activityItems: [shareText], applicationActivities: nil) let vc = UIActivityViewController(activityItems: [shareText], applicationActivities: nil)
hostingController.present(vc, animated: true) hostingController.present(vc, animated: true)
} }
@@ -79,7 +79,7 @@ struct SplashScreenViewState: BindableState {
message: ElementL10n.ftueAuthCarouselEncryptedBody, message: ElementL10n.ftueAuthCarouselEncryptedBody,
image: Asset.Images.splashScreenPage3), image: Asset.Images.splashScreenPage3),
SplashScreenPageContent(title: page4Title.tinting("."), SplashScreenPageContent(title: page4Title.tinting("."),
message: ElementL10n.ftueAuthCarouselWorkplaceBody(ElementInfoPlist.cfBundleName), message: ElementL10n.ftueAuthCarouselWorkplaceBody(ElementInfoPlist.cfBundleDisplayName),
image: Asset.Images.splashScreenPage4) image: Asset.Images.splashScreenPage4)
] ]
bindings = SplashScreenBindings() bindings = SplashScreenBindings()
+2
View File
@@ -4,6 +4,8 @@
<dict> <dict>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string> <string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string> <string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
+1
View File
@@ -36,6 +36,7 @@ targets:
path: ../SupportingFiles/Info.plist path: ../SupportingFiles/Info.plist
properties: properties:
UILaunchStoryboardName: LaunchScreen UILaunchStoryboardName: LaunchScreen
CFBundleDisplayName: $(PRODUCT_NAME)
CFBundleShortVersionString: $(MARKETING_VERSION) CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION) CFBundleVersion: $(CURRENT_PROJECT_VERSION)
UISupportedInterfaceOrientations: [ UISupportedInterfaceOrientations: [
+1
View File
@@ -0,0 +1 @@
Include app name in default session display name