Skip to content

Commit f41b80d

Browse files
committed
RUM-9514 remove deprecated userInfo methods
1 parent 2fe6c41 commit f41b80d

File tree

14 files changed

+47
-61
lines changed

14 files changed

+47
-61
lines changed

dd-sdk-android-core/api/apiSurface

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ object com.datadog.android.Datadog
88
fun getVerbosity(): Int
99
fun setTrackingConsent(com.datadog.android.privacy.TrackingConsent, com.datadog.android.api.SdkCore = getInstance())
1010
fun setUserInfo(String, String? = null, String? = null, Map<String, Any?> = emptyMap(), com.datadog.android.api.SdkCore = getInstance())
11-
DEPRECATED fun setUserInfo(String? = null, String? = null, String? = null, Map<String, Any?> = emptyMap(), com.datadog.android.api.SdkCore = getInstance())
1211
fun addUserProperties(Map<String, Any?>, com.datadog.android.api.SdkCore = getInstance())
1312
fun clearAllData(com.datadog.android.api.SdkCore = getInstance())
1413
fun _internalProxy(String? = null): _InternalProxy
@@ -54,7 +53,7 @@ interface com.datadog.android.api.SdkCore
5453
val service: String
5554
fun isCoreActive(): Boolean
5655
fun setTrackingConsent(com.datadog.android.privacy.TrackingConsent)
57-
fun setUserInfo(String? = null, String? = null, String? = null, Map<String, Any?> = emptyMap())
56+
fun setUserInfo(String, String? = null, String? = null, Map<String, Any?> = emptyMap())
5857
fun addUserProperties(Map<String, Any?>)
5958
fun clearAllData()
6059
data class com.datadog.android.api.context.DatadogContext

dd-sdk-android-core/api/dd-sdk-android-core.api

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,6 @@ public final class com/datadog/android/Datadog {
3636
public static final fun setUserInfo (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
3737
public static final fun setUserInfo (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lcom/datadog/android/api/SdkCore;)V
3838
public static synthetic fun setUserInfo$default (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lcom/datadog/android/api/SdkCore;ILjava/lang/Object;)V
39-
public static final fun setUserInfoDeprecated ()V
40-
public static final fun setUserInfoDeprecated (Ljava/lang/String;)V
41-
public static final fun setUserInfoDeprecated (Ljava/lang/String;Ljava/lang/String;)V
42-
public static final fun setUserInfoDeprecated (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
43-
public static final fun setUserInfoDeprecated (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
44-
public static final fun setUserInfoDeprecated (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lcom/datadog/android/api/SdkCore;)V
45-
public static synthetic fun setUserInfoDeprecated$default (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lcom/datadog/android/api/SdkCore;ILjava/lang/Object;)V
4639
public static final fun setVerbosity (I)V
4740
public static final fun stopInstance ()V
4841
public static final fun stopInstance (Ljava/lang/String;)V

dd-sdk-android-core/src/main/kotlin/com/datadog/android/Datadog.kt

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -259,31 +259,6 @@ object Datadog {
259259
sdkCore.setUserInfo(id, name, email, extraInfo)
260260
}
261261

262-
/**
263-
* Sets the user information.
264-
*
265-
* @param id (nullable) a unique user identifier (relevant to your business domain)
266-
* @param name (nullable) the user name or alias
267-
* @param email (nullable) the user email
268-
* @param extraInfo additional information. An extra information can be
269-
* nested up to 8 levels deep. Keys using more than 8 levels will be sanitized by SDK.
270-
* @param sdkCore SDK instance to set user info in. If not provided, default SDK instance
271-
* will be used.
272-
*/
273-
@JvmStatic
274-
@JvmOverloads
275-
@Deprecated("UserInfo id property is now mandatory.")
276-
@JvmName("setUserInfoDeprecated")
277-
fun setUserInfo(
278-
id: String? = null,
279-
name: String? = null,
280-
email: String? = null,
281-
extraInfo: Map<String, Any?> = emptyMap(),
282-
sdkCore: SdkCore = getInstance()
283-
) {
284-
sdkCore.setUserInfo(id, name, email, extraInfo)
285-
}
286-
287262
/**
288263
* Sets additional information on the [UserInfo] object
289264
*

dd-sdk-android-core/src/main/kotlin/com/datadog/android/api/SdkCore.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@ interface SdkCore {
5050
/**
5151
* Sets the user information.
5252
*
53-
* @param id (nullable) a unique user identifier (relevant to your business domain)
53+
* @param id a unique user identifier (relevant to your business domain)
5454
* @param name (nullable) the user name or alias
5555
* @param email (nullable) the user email
5656
* @param extraInfo additional information. An extra information can be
5757
* nested up to 8 levels deep. Keys using more than 8 levels will be sanitized by SDK.
5858
*/
5959
@AnyThread
6060
fun setUserInfo(
61-
id: String? = null,
61+
id: String,
6262
name: String? = null,
6363
email: String? = null,
6464
extraInfo: Map<String, Any?> = emptyMap()

dd-sdk-android-core/src/main/kotlin/com/datadog/android/core/internal/DatadogCore.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ internal class DatadogCore(
162162
/** @inheritDoc */
163163
@AnyThread
164164
override fun setUserInfo(
165-
id: String?,
165+
id: String,
166166
name: String?,
167167
email: String?,
168168
extraInfo: Map<String, Any?>

dd-sdk-android-core/src/main/kotlin/com/datadog/android/core/internal/NoOpInternalSdkCore.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ internal object NoOpInternalSdkCore : InternalSdkCore {
8080
override fun setTrackingConsent(consent: TrackingConsent) = Unit
8181

8282
override fun setUserInfo(
83-
id: String?,
83+
id: String,
8484
name: String?,
8585
email: String?,
8686
extraInfo: Map<String, Any?>

dd-sdk-android-core/src/main/kotlin/com/datadog/android/core/internal/user/DatadogUserInfoProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ internal class DatadogUserInfoProvider(
2020
dataWriter.write(field)
2121
}
2222

23-
override fun setUserInfo(id: String?, name: String?, email: String?, extraInfo: Map<String, Any?>) {
23+
override fun setUserInfo(id: String, name: String?, email: String?, extraInfo: Map<String, Any?>) {
2424
internalUserInfo = internalUserInfo.copy(
2525
id = id,
2626
name = name,

dd-sdk-android-core/src/main/kotlin/com/datadog/android/core/internal/user/MutableUserInfoProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import com.datadog.tools.annotation.NoOpImplementation
1212
internal interface MutableUserInfoProvider : UserInfoProvider {
1313

1414
fun setUserInfo(
15-
id: String?,
15+
id: String,
1616
name: String?,
1717
email: String?,
1818
extraInfo: Map<String, Any?>

dd-sdk-android-core/src/test/kotlin/com/datadog/android/core/internal/user/DatadogUserInfoProviderTest.kt

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53,36 +53,51 @@ internal class DatadogUserInfoProviderTest {
5353

5454
@Test
5555
fun `M return saved userInfo W setUserInfo() and getUserInfo()`(
56-
@Forgery userInfo: UserInfo
56+
@Forgery userInfo: UserInfo,
57+
@StringForgery userId: String
5758
) {
59+
// Given
60+
val nonNullUserId = userInfo.id ?: userId
61+
val validUserInfo = userInfo.copy(id = nonNullUserId)
62+
5863
// When
59-
testedProvider.setUserInfo(userInfo.id, userInfo.name, userInfo.email, userInfo.additionalProperties)
64+
testedProvider.setUserInfo(nonNullUserId, userInfo.name, userInfo.email, userInfo.additionalProperties)
6065
val result = testedProvider.getUserInfo()
6166

6267
// Then
63-
assertThat(result).isEqualTo(userInfo)
68+
assertThat(result).isEqualTo(validUserInfo)
6469
}
6570

6671
@Test
67-
fun `M delegate to persister W setUserInfo`(@Forgery userInfo: UserInfo) {
72+
fun `M delegate to persister W setUserInfo`(
73+
@Forgery userInfo: UserInfo,
74+
@StringForgery userId: String
75+
) {
76+
// Given
77+
val nonNullUserId = userInfo.id ?: userId
78+
val validUserInfo = userInfo.copy(id = nonNullUserId)
79+
6880
// When
69-
testedProvider.setUserInfo(userInfo.id, userInfo.name, userInfo.email, userInfo.additionalProperties)
81+
testedProvider.setUserInfo(nonNullUserId, userInfo.name, userInfo.email, userInfo.additionalProperties)
7082

7183
// Then
72-
verify(mockWriter).write(userInfo)
84+
verify(mockWriter).write(validUserInfo)
7385
}
7486

7587
@Test
7688
fun `M keep existing properties W addUserProperties() is called`(
7789
@Forgery userInfo: UserInfo,
78-
@StringForgery forge: Forge
90+
@StringForgery userId: String,
91+
forge: Forge
7992
) {
8093
// Given
8194
val customProperties = forge.exhaustiveAttributes()
82-
testedProvider.setUserInfo(userInfo.id, userInfo.name, userInfo.email, customProperties)
95+
val nonNullUserId = userInfo.id ?: userId
96+
testedProvider.setUserInfo(nonNullUserId, userInfo.name, userInfo.email, customProperties)
8397

8498
// When
8599
testedProvider.addUserProperties(customProperties)
100+
86101
// Then
87102
assertThat(
88103
testedProvider.getUserInfo().additionalProperties
@@ -91,7 +106,7 @@ internal class DatadogUserInfoProviderTest {
91106

92107
@Test
93108
fun `M use immutable properties W addUserProperties() is called { changing properties values }`(
94-
@StringForgery forge: Forge
109+
forge: Forge
95110
) {
96111
// Given
97112
val fakeProperties = forge.exhaustiveAttributes()
@@ -112,7 +127,7 @@ internal class DatadogUserInfoProviderTest {
112127

113128
@Test
114129
fun `M use immutable properties W addUserProperties() is called { adding properties }`(
115-
@StringForgery forge: Forge
130+
forge: Forge
116131
) {
117132
// Given
118133
val fakeProperties = forge.exhaustiveAttributes()
@@ -133,7 +148,7 @@ internal class DatadogUserInfoProviderTest {
133148

134149
@Test
135150
fun `M use immutable properties W addUserProperties() is called { removing properties }`(
136-
@StringForgery forge: Forge
151+
forge: Forge
137152
) {
138153
// Given
139154
val fakeProperties = forge.exhaustiveAttributes()
@@ -155,12 +170,14 @@ internal class DatadogUserInfoProviderTest {
155170
@Test
156171
fun `M keep new property key W addUserProperties() is called and the key already exists`(
157172
@Forgery userInfo: UserInfo,
173+
@StringForgery userId: String,
158174
@StringForgery key: String,
159175
@StringForgery value1: String,
160176
@StringForgery value2: String
161177
) {
162178
// Given
163-
testedProvider.setUserInfo(userInfo.id, userInfo.name, userInfo.email, mutableMapOf(key to value1))
179+
val nonNullUserId = userInfo.id ?: userId
180+
testedProvider.setUserInfo(nonNullUserId, userInfo.name, userInfo.email, mutableMapOf(key to value1))
164181

165182
// When
166183
testedProvider.addUserProperties(mapOf(key to value2))

features/dd-sdk-android-logs/src/test/kotlin/com/datadog/android/log/LoggerBuilderTest.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import com.datadog.android.log.internal.logger.NoOpLogHandler
2222
import com.datadog.android.log.model.LogEvent
2323
import com.datadog.android.utils.forge.Configurator
2424
import fr.xgouchet.elmyr.Forge
25-
import fr.xgouchet.elmyr.annotation.Forgery
2625
import fr.xgouchet.elmyr.annotation.IntForgery
2726
import fr.xgouchet.elmyr.annotation.StringForgery
2827
import fr.xgouchet.elmyr.junit5.ForgeConfiguration
@@ -126,7 +125,7 @@ internal class LoggerBuilderTest {
126125
}
127126

128127
@Test
129-
fun `builder can set a service name`(@Forgery forge: Forge) {
128+
fun `builder can set a service name`(forge: Forge) {
130129
val serviceName = forge.anAlphabeticalString()
131130

132131
val logger = Logger.Builder(mockSdkCore)
@@ -178,7 +177,7 @@ internal class LoggerBuilderTest {
178177

179178
@Test
180179
fun `builder can enable only logcat logs`(
181-
@Forgery forge: Forge
180+
forge: Forge
182181
) {
183182
val logcatLogsEnabled = true
184183
val fakeServiceName = forge.anAlphaNumericalString()
@@ -211,7 +210,7 @@ internal class LoggerBuilderTest {
211210
}
212211

213212
@Test
214-
fun `builder can set the logger name`(@Forgery forge: Forge) {
213+
fun `builder can set the logger name`(forge: Forge) {
215214
val loggerName = forge.anAlphabeticalString()
216215

217216
val logger = Logger.Builder(mockSdkCore)
@@ -243,7 +242,7 @@ internal class LoggerBuilderTest {
243242
}
244243

245244
@Test
246-
fun `builder can set a sample rate`(@Forgery forge: Forge) {
245+
fun `builder can set a sample rate`(forge: Forge) {
247246
val expectedSampleRate = forge.aFloat(min = 0.0f, max = 100.0f)
248247

249248
val logger = Logger.Builder(mockSdkCore).setRemoteSampleRate(expectedSampleRate).build()

0 commit comments

Comments
 (0)