lifting the email branding to its own parameter so clients of the sdk can configure it

This commit is contained in:
Adam Brown 2021-09-21 11:26:11 +01:00
parent 0b293d08cc
commit 516bb6ed95
3 changed files with 9 additions and 4 deletions

View File

@ -70,6 +70,7 @@ interface PushersService {
* @param email The email address to send notifications to. * @param email The email address to send notifications to.
* If the kind is "email", this is the email address to send notifications to. * If the kind is "email", this is the email address to send notifications to.
* @param lang The preferred language for receiving notifications (e.g. "en" or "en-US"). * @param lang The preferred language for receiving notifications (e.g. "en" or "en-US").
* @param emailBranding The branding placeholder to include in the email communications.
* @param appDisplayName A human readable string that will allow the user to identify what application owns this pusher. * @param appDisplayName A human readable string that will allow the user to identify what application owns this pusher.
* @param deviceDisplayName A human readable string that will allow the user to identify what device owns this pusher. * @param deviceDisplayName A human readable string that will allow the user to identify what device owns this pusher.
* @param append If true, the homeserver should add another pusher with the given pushkey and App ID in addition * @param append If true, the homeserver should add another pusher with the given pushkey and App ID in addition
@ -81,6 +82,7 @@ interface PushersService {
*/ */
fun addEmailPusher(email: String, fun addEmailPusher(email: String,
lang: String, lang: String,
emailBranding: String,
appDisplayName: String, appDisplayName: String,
deviceDisplayName: String, deviceDisplayName: String,
append: Boolean): UUID append: Boolean): UUID

View File

@ -81,15 +81,16 @@ internal class DefaultPushersService @Inject constructor(
) )
) )
override fun addEmailPusher(email: String, lang: String, appDisplayName: String, deviceDisplayName: String, append: Boolean) = addPusher( override fun addEmailPusher(email: String, lang: String, emailBranding: String, appDisplayName: String, deviceDisplayName: String, append: Boolean) = addPusher(
JsonPusher(pushKey = email, JsonPusher(
pushKey = email,
kind = "email", kind = "email",
appId = "m.email", appId = "m.email",
profileTag = "", profileTag = "",
lang = lang, lang = lang,
appDisplayName = appDisplayName, appDisplayName = appDisplayName,
deviceDisplayName = deviceDisplayName, deviceDisplayName = deviceDisplayName,
data = JsonPusherData(brand = appDisplayName), data = JsonPusherData(brand = emailBranding),
append = append append = append
) )
) )

View File

@ -63,10 +63,12 @@ class PushersManager @Inject constructor(
fun registerEmailForPush(email: String) { fun registerEmailForPush(email: String) {
val currentSession = activeSessionHolder.getActiveSession() val currentSession = activeSessionHolder.getActiveSession()
val appName = appNameProvider.getAppName()
currentSession.addEmailPusher( currentSession.addEmailPusher(
email = email, email = email,
lang = localeProvider.current().language, lang = localeProvider.current().language,
appDisplayName = appNameProvider.getAppName(), emailBranding = appName,
appDisplayName = appName,
deviceDisplayName = currentSession.sessionParams.deviceId ?: "MOBILE", deviceDisplayName = currentSession.sessionParams.deviceId ?: "MOBILE",
append = true, append = true,
) )