mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 12:07:28 +00:00
Make the PUSHER_APP_ID configurable at build time.
This commit is contained in:
@@ -1,16 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2025 Element Creations Ltd.
|
|
||||||
* Copyright 2023-2025 New Vector Ltd.
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
|
||||||
* Please see LICENSE files in the repository root for full details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.element.android.appconfig
|
|
||||||
|
|
||||||
object PushConfig {
|
|
||||||
/**
|
|
||||||
* Note: pusher_app_id cannot exceed 64 chars.
|
|
||||||
*/
|
|
||||||
const val PUSHER_APP_ID: String = "im.vector.app.android"
|
|
||||||
}
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import config.BuildTimeConfig
|
||||||
|
import extension.buildConfigFieldStr
|
||||||
import extension.setupDependencyInjection
|
import extension.setupDependencyInjection
|
||||||
import extension.testCommonDependencies
|
import extension.testCommonDependencies
|
||||||
|
|
||||||
@@ -17,6 +19,33 @@ plugins {
|
|||||||
android {
|
android {
|
||||||
namespace = "io.element.android.libraries.push.impl"
|
namespace = "io.element.android.libraries.push.impl"
|
||||||
|
|
||||||
|
buildFeatures {
|
||||||
|
buildConfig = true
|
||||||
|
}
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
val defaultPusherAppId = "im.vector.app.android"
|
||||||
|
getByName("release") {
|
||||||
|
buildConfigFieldStr(
|
||||||
|
name = "PUSHER_APP_ID",
|
||||||
|
value = BuildTimeConfig.PUSHER_APP_ID_RELEASE ?: defaultPusherAppId,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
getByName("debug") {
|
||||||
|
buildConfigFieldStr(
|
||||||
|
name = "PUSHER_APP_ID",
|
||||||
|
value = BuildTimeConfig.PUSHER_APP_ID_DEBUG ?: defaultPusherAppId,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
register("nightly") {
|
||||||
|
matchingFallbacks += listOf("release")
|
||||||
|
buildConfigFieldStr(
|
||||||
|
name = "PUSHER_APP_ID",
|
||||||
|
value = BuildTimeConfig.PUSHER_APP_ID_NIGHTLY ?: defaultPusherAppId,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
testOptions {
|
testOptions {
|
||||||
unitTests {
|
unitTests {
|
||||||
isIncludeAndroidResources = true
|
isIncludeAndroidResources = true
|
||||||
|
|||||||
+2
-3
@@ -10,7 +10,6 @@ package io.element.android.libraries.push.impl
|
|||||||
|
|
||||||
import dev.zacsweers.metro.AppScope
|
import dev.zacsweers.metro.AppScope
|
||||||
import dev.zacsweers.metro.ContributesBinding
|
import dev.zacsweers.metro.ContributesBinding
|
||||||
import io.element.android.appconfig.PushConfig
|
|
||||||
import io.element.android.libraries.core.extensions.mapFailure
|
import io.element.android.libraries.core.extensions.mapFailure
|
||||||
import io.element.android.libraries.core.log.logger.LoggerTag
|
import io.element.android.libraries.core.log.logger.LoggerTag
|
||||||
import io.element.android.libraries.core.meta.BuildMeta
|
import io.element.android.libraries.core.meta.BuildMeta
|
||||||
@@ -74,7 +73,7 @@ class DefaultPusherSubscriber(
|
|||||||
): SetHttpPusherData =
|
): SetHttpPusherData =
|
||||||
SetHttpPusherData(
|
SetHttpPusherData(
|
||||||
pushKey = pushKey,
|
pushKey = pushKey,
|
||||||
appId = PushConfig.PUSHER_APP_ID,
|
appId = BuildConfig.PUSHER_APP_ID,
|
||||||
// TODO + abs(activeSessionHolder.getActiveSession().myUserId.hashCode())
|
// TODO + abs(activeSessionHolder.getActiveSession().myUserId.hashCode())
|
||||||
profileTag = DEFAULT_PUSHER_FILE_TAG + "_",
|
profileTag = DEFAULT_PUSHER_FILE_TAG + "_",
|
||||||
// TODO localeProvider.current().language
|
// TODO localeProvider.current().language
|
||||||
@@ -104,7 +103,7 @@ class DefaultPusherSubscriber(
|
|||||||
.unsetHttpPusher(
|
.unsetHttpPusher(
|
||||||
unsetHttpPusherData = UnsetHttpPusherData(
|
unsetHttpPusherData = UnsetHttpPusherData(
|
||||||
pushKey = pushKey,
|
pushKey = pushKey,
|
||||||
appId = PushConfig.PUSHER_APP_ID
|
appId = BuildConfig.PUSHER_APP_ID
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.onSuccess {
|
.onSuccess {
|
||||||
|
|||||||
+2
-2
@@ -10,9 +10,9 @@ package io.element.android.libraries.push.impl.test
|
|||||||
|
|
||||||
import dev.zacsweers.metro.AppScope
|
import dev.zacsweers.metro.AppScope
|
||||||
import dev.zacsweers.metro.ContributesBinding
|
import dev.zacsweers.metro.ContributesBinding
|
||||||
import io.element.android.appconfig.PushConfig
|
|
||||||
import io.element.android.libraries.matrix.api.core.EventId
|
import io.element.android.libraries.matrix.api.core.EventId
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
|
import io.element.android.libraries.push.impl.BuildConfig
|
||||||
import io.element.android.libraries.push.impl.pushgateway.PushGatewayNotifyRequest
|
import io.element.android.libraries.push.impl.pushgateway.PushGatewayNotifyRequest
|
||||||
import io.element.android.libraries.pushproviders.api.Config
|
import io.element.android.libraries.pushproviders.api.Config
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ class DefaultTestPush(
|
|||||||
pushGatewayNotifyRequest.execute(
|
pushGatewayNotifyRequest.execute(
|
||||||
PushGatewayNotifyRequest.Params(
|
PushGatewayNotifyRequest.Params(
|
||||||
url = config.url,
|
url = config.url,
|
||||||
appId = PushConfig.PUSHER_APP_ID,
|
appId = BuildConfig.PUSHER_APP_ID,
|
||||||
pushKey = config.pushKey,
|
pushKey = config.pushKey,
|
||||||
eventId = TEST_EVENT_ID,
|
eventId = TEST_EVENT_ID,
|
||||||
roomId = TEST_ROOM_ID,
|
roomId = TEST_ROOM_ID,
|
||||||
|
|||||||
+2
-3
@@ -9,7 +9,6 @@
|
|||||||
package io.element.android.libraries.push.impl
|
package io.element.android.libraries.push.impl
|
||||||
|
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import io.element.android.appconfig.PushConfig
|
|
||||||
import io.element.android.libraries.core.meta.BuildMeta
|
import io.element.android.libraries.core.meta.BuildMeta
|
||||||
import io.element.android.libraries.matrix.api.pusher.SetHttpPusherData
|
import io.element.android.libraries.matrix.api.pusher.SetHttpPusherData
|
||||||
import io.element.android.libraries.matrix.api.pusher.UnsetHttpPusherData
|
import io.element.android.libraries.matrix.api.pusher.UnsetHttpPusherData
|
||||||
@@ -96,7 +95,7 @@ class DefaultPusherSubscriberTest {
|
|||||||
value(
|
value(
|
||||||
SetHttpPusherData(
|
SetHttpPusherData(
|
||||||
pushKey = "aPushKey",
|
pushKey = "aPushKey",
|
||||||
appId = PushConfig.PUSHER_APP_ID,
|
appId = BuildConfig.PUSHER_APP_ID,
|
||||||
url = "aGateway",
|
url = "aGateway",
|
||||||
appDisplayName = "MyApp",
|
appDisplayName = "MyApp",
|
||||||
deviceDisplayName = "MyDevice",
|
deviceDisplayName = "MyDevice",
|
||||||
@@ -163,7 +162,7 @@ class DefaultPusherSubscriberTest {
|
|||||||
value(
|
value(
|
||||||
UnsetHttpPusherData(
|
UnsetHttpPusherData(
|
||||||
pushKey = "aPushKey",
|
pushKey = "aPushKey",
|
||||||
appId = PushConfig.PUSHER_APP_ID,
|
appId = BuildConfig.PUSHER_APP_ID,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-2
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
package io.element.android.libraries.push.impl.test
|
package io.element.android.libraries.push.impl.test
|
||||||
|
|
||||||
import io.element.android.appconfig.PushConfig
|
import io.element.android.libraries.push.impl.BuildConfig
|
||||||
import io.element.android.libraries.push.impl.pushgateway.PushGatewayNotifyRequest
|
import io.element.android.libraries.push.impl.pushgateway.PushGatewayNotifyRequest
|
||||||
import io.element.android.libraries.pushproviders.test.aSessionPushConfig
|
import io.element.android.libraries.pushproviders.test.aSessionPushConfig
|
||||||
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
||||||
@@ -33,7 +33,7 @@ class DefaultTestPushTest {
|
|||||||
value(
|
value(
|
||||||
PushGatewayNotifyRequest.Params(
|
PushGatewayNotifyRequest.Params(
|
||||||
url = aConfig.url,
|
url = aConfig.url,
|
||||||
appId = PushConfig.PUSHER_APP_ID,
|
appId = BuildConfig.PUSHER_APP_ID,
|
||||||
pushKey = aConfig.pushKey,
|
pushKey = aConfig.pushKey,
|
||||||
eventId = DefaultTestPush.TEST_EVENT_ID,
|
eventId = DefaultTestPush.TEST_EVENT_ID,
|
||||||
roomId = DefaultTestPush.TEST_ROOM_ID,
|
roomId = DefaultTestPush.TEST_ROOM_ID,
|
||||||
|
|||||||
@@ -31,4 +31,7 @@ object BuildTimeConfig {
|
|||||||
val BUG_REPORT_APP_NAME: String? = null
|
val BUG_REPORT_APP_NAME: String? = null
|
||||||
const val PUSH_CONFIG_INCLUDE_FIREBASE: Boolean = true
|
const val PUSH_CONFIG_INCLUDE_FIREBASE: Boolean = true
|
||||||
const val PUSH_CONFIG_INCLUDE_UNIFIED_PUSH: Boolean = true
|
const val PUSH_CONFIG_INCLUDE_UNIFIED_PUSH: Boolean = true
|
||||||
|
val PUSHER_APP_ID_RELEASE: String? = null
|
||||||
|
val PUSHER_APP_ID_DEBUG: String? = null
|
||||||
|
val PUSHER_APP_ID_NIGHTLY: String? = null
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user