Skip to content

Commit bda5cc2

Browse files
authored
Merge pull request #101 from DataDog/xgouchet/RUMM-188_API19
RUMM-188 make library compatible with API-19
2 parents d3a4cc8 + 423a1e1 commit bda5cc2

File tree

18 files changed

+125
-226
lines changed

18 files changed

+125
-226
lines changed

.gitlab-ci.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@ analysis:ktlint:
3030
- git fetch --depth=1 origin master
3131
- ./gradlew :ktlintCheckAll
3232

33+
analysis:android-lint:
34+
tags: [ "runner:docker", "size:large" ]
35+
image: $CI_IMAGE_DOCKER
36+
stage: analysis
37+
script:
38+
- git fetch --depth=1 origin master
39+
- ./gradlew :lintCheckAll
40+
3341
analysis:detekt:
3442
tags: [ "runner:docker", "size:large" ]
3543
image: $CI_IMAGE_DOCKER

build.gradle.kts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ tasks.register("checkAll") {
7373
dependsOn(
7474
"ktlintCheckAll",
7575
"detektAll",
76+
"lintCheckAll",
7677
"unitTestAll",
7778
"jacocoReportAll",
7879
"instrumentTestAll"
@@ -90,6 +91,15 @@ tasks.register("ktlintCheckAll") {
9091
)
9192
}
9293

94+
tasks.register("lintCheckAll") {
95+
dependsOn(
96+
":dd-sdk-android:lintDebug",
97+
":dd-sdk-android:lintRelease",
98+
":dd-sdk-android-timber:lintDebug",
99+
":dd-sdk-android-timber:lintRelease"
100+
)
101+
}
102+
93103
tasks.register("detektAll") {
94104
dependsOn(
95105
":dd-sdk-android:detekt",
@@ -115,7 +125,6 @@ tasks.register("jacocoReportAll") {
115125
tasks.register("instrumentTestAll") {
116126
dependsOn(":instrumented:integration:connectedCheck")
117127
dependsOn(":instrumented:benchmark:connectedCheck")
118-
dependsOn(":dd-sdk-android:connectedCheck")
119128
}
120129

121130
tasks.register("buildIntegrationTestsArtifacts") {

buildSrc/src/main/kotlin/com/datadog/gradle/Dependencies.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ object Dependencies {
1515
const val Gson = "2.8.6"
1616
const val OkHttp = "3.12.6"
1717
const val JetpackWorkManager = "2.2.0"
18+
const val AndroidXMultidex = "2.0.1"
1819

1920
// JUnit
2021
const val JUnitJupiter = "5.5.2"
@@ -59,6 +60,8 @@ object Dependencies {
5960

6061
const val OkHttp = "com.squareup.okhttp3:okhttp:${Versions.OkHttp}"
6162

63+
const val AndroidXMultidex = "androidx.multidex:multidex:${Versions.AndroidXMultidex}"
64+
6265
val JetpackBenchmark = arrayOf(
6366
"androidx.benchmark:benchmark-junit4:${Versions.JetpackBenchmark}",
6467
"androidx.test.ext:junit:1.1.1"

buildSrc/src/main/kotlin/com/datadog/gradle/config/AndroidConfig.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import com.datadog.gradle.utils.Version
1111
object AndroidConfig {
1212

1313
const val TARGET_SDK = 29
14-
const val MIN_SDK = 21
14+
const val MIN_SDK = 19
1515
const val BUILD_TOOLS_VERSION = "29.0.2"
1616

1717
val VERSION = Version(1, 1, 1)

dd-sdk-android-timber/build.gradle.kts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,13 @@ android {
5858
testOptions {
5959
unitTests.isReturnDefaultValues = true
6060
}
61+
62+
lintOptions {
63+
isWarningsAsErrors = true
64+
isAbortOnError = true
65+
isCheckReleaseBuilds = false
66+
isCheckGeneratedSources = true
67+
}
6168
}
6269

6370
dependencies {

dd-sdk-android/build.gradle.kts

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
*/
66

77
import com.datadog.gradle.Dependencies
8-
import com.datadog.gradle.androidTestImplementation
98
import com.datadog.gradle.config.AndroidConfig
109
import com.datadog.gradle.config.BuildConfigPropertiesKeys
1110
import com.datadog.gradle.config.GradlePropertiesKeys
@@ -49,13 +48,6 @@ android {
4948
targetSdkVersion(AndroidConfig.TARGET_SDK)
5049
versionCode = AndroidConfig.VERSION.code
5150
versionName = AndroidConfig.VERSION.name
52-
53-
testInstrumentationRunner = "androidx.benchmark.junit4.AndroidBenchmarkRunner"
54-
testInstrumentationRunnerArgument("androidx.benchmark.suppressErrors",
55-
"EMULATOR,UNLOCKED")
56-
testInstrumentationRunnerArgument("androidx.benchmark.suppressErrors",
57-
"EMULATOR,DEBUGGABLE")
58-
testInstrumentationRunnerArgument("androidx.benchmark.output.enable", "true")
5951
}
6052

6153
sourceSets.named("main") {
@@ -73,8 +65,6 @@ android {
7365
targetCompatibility = JavaVersion.VERSION_1_8
7466
}
7567

76-
// TODO when using Android Plugin 3.6.+
77-
// enableAdditionalTestOutput=true
7868
testOptions {
7969
unitTests.isReturnDefaultValues = true
8070
}
@@ -102,6 +92,13 @@ android {
10292
exclude("META-INF/LICENSE.md")
10393
exclude("META-INF/LICENSE-notice.md")
10494
}
95+
96+
lintOptions {
97+
isWarningsAsErrors = true
98+
isAbortOnError = true
99+
isCheckReleaseBuilds = false
100+
isCheckGeneratedSources = true
101+
}
105102
}
106103

107104
dependencies {
@@ -115,11 +112,6 @@ dependencies {
115112
testImplementation(Dependencies.Libraries.TestTools)
116113
testImplementation(Dependencies.Libraries.OkHttpMock)
117114

118-
androidTestImplementation(project(":tools:unit"))
119-
androidTestImplementation(Dependencies.Libraries.AndroidTestTools)
120-
androidTestImplementation(Dependencies.Libraries.JetpackBenchmark)
121-
androidTestImplementation(Dependencies.Libraries.OkHttpMock)
122-
123115
detekt(project(":tools:detekt"))
124116
detekt(Dependencies.Libraries.DetektCli)
125117
}

dd-sdk-android/src/androidTest/AndroidManifest.xml

Lines changed: 0 additions & 21 deletions
This file was deleted.

dd-sdk-android/src/androidTest/kotlin/com/datadog/android/internal/file/LogFileStrategyBenchmarking.kt

Lines changed: 0 additions & 103 deletions
This file was deleted.

dd-sdk-android/src/androidTest/kotlin/com/datadog/android/internal/utils/utils.kt

Lines changed: 0 additions & 66 deletions
This file was deleted.

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -156,13 +156,13 @@ object Datadog {
156156
logStrategy.getReader().dropAllBatches()
157157
devLogger.w(
158158
"$TAG: old logs targeted at $endpointUrl " +
159-
"will now be deleted"
159+
"will now be deleted"
160160
)
161161
}
162162
EndpointUpdateStrategy.SEND_OLD_LOGS_TO_NEW_ENDPOINT -> {
163163
devLogger.w(
164164
"$TAG: old logs targeted at $endpointUrl " +
165-
"will now be sent to $endpointUrl"
165+
"will now be sent to $endpointUrl"
166166
)
167167
}
168168
}
@@ -242,8 +242,8 @@ object Datadog {
242242
private fun checkInitialized() {
243243
check(initialized) {
244244
"Datadog has not been initialized.\n" +
245-
"Please add the following code in your application's onCreate() method:\n" +
246-
"Datadog.initialize(context, \"<CLIENT_TOKEN>\");"
245+
"Please add the following code in your application's onCreate() method:\n" +
246+
"Datadog.initialize(context, \"<CLIENT_TOKEN>\");"
247247
}
248248
}
249249

@@ -258,10 +258,10 @@ object Datadog {
258258
}
259259

260260
private fun buildOkHttpClient(endpoint: String): OkHttpClient {
261-
val connectionSpec = if (endpoint.startsWith("http://")) {
262-
ConnectionSpec.CLEARTEXT
263-
} else {
264-
ConnectionSpec.RESTRICTED_TLS
261+
val connectionSpec = when {
262+
endpoint.startsWith("http://") -> ConnectionSpec.CLEARTEXT
263+
Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP -> ConnectionSpec.RESTRICTED_TLS
264+
else -> ConnectionSpec.MODERN_TLS
265265
}
266266
return OkHttpClient.Builder()
267267
.addInterceptor(NetworkTimeInterceptor(timeProvider))

dd-sdk-android/src/main/kotlin/com/datadog/android/core/internal/net/info/BroadcastReceiverNetworkInfoProvider.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
package com.datadog.android.core.internal.net.info
88

9+
import android.annotation.SuppressLint
910
import android.content.BroadcastReceiver
1011
import android.content.Context
1112
import android.content.Intent
@@ -17,6 +18,7 @@ import android.telephony.TelephonyManager
1718
import com.datadog.android.core.internal.utils.sdkLogger
1819

1920
@Suppress("DEPRECATION")
21+
@SuppressLint("InlinedApi")
2022
internal class BroadcastReceiverNetworkInfoProvider :
2123
BroadcastReceiver(),
2224
NetworkInfoProvider {

0 commit comments

Comments
 (0)