mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Include app name in default session display name (#227)
This commit is contained in:
@@ -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()
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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: [
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
Include app name in default session display name
|
||||||
Reference in New Issue
Block a user