diff --git a/agent-sdk/src/main/AndroidManifest.xml b/agent-sdk/src/main/AndroidManifest.xml
index 25b31ea63..fe0f49be1 100644
--- a/agent-sdk/src/main/AndroidManifest.xml
+++ b/agent-sdk/src/main/AndroidManifest.xml
@@ -3,7 +3,6 @@
-
diff --git a/agent-sdk/src/main/java/co/elastic/otel/android/internal/services/network/query/NetworkApi21QueryManager.kt b/agent-sdk/src/main/java/co/elastic/otel/android/internal/services/network/query/NetworkApi21QueryManager.kt
index b57ae95e9..1857af9c3 100644
--- a/agent-sdk/src/main/java/co/elastic/otel/android/internal/services/network/query/NetworkApi21QueryManager.kt
+++ b/agent-sdk/src/main/java/co/elastic/otel/android/internal/services/network/query/NetworkApi21QueryManager.kt
@@ -18,6 +18,7 @@
*/
package co.elastic.otel.android.internal.services.network.query
+import android.Manifest
import android.net.ConnectivityManager
import android.net.ConnectivityManager.NetworkCallback
import android.net.Network
@@ -25,6 +26,7 @@ import android.net.NetworkCapabilities
import android.net.NetworkRequest
import android.telephony.TelephonyManager
import androidx.annotation.GuardedBy
+import androidx.annotation.RequiresPermission
import co.elastic.otel.android.internal.services.network.listener.NetworkChangeListener
/**
@@ -45,6 +47,7 @@ internal class NetworkApi21QueryManager(
this.listener = listener
}
+ @RequiresPermission(Manifest.permission.READ_PHONE_STATE)
override fun getNetworkType(): Int {
return telephonyManager.networkType
}
diff --git a/agent-sdk/src/main/java/co/elastic/otel/android/internal/services/network/query/NetworkApi23QueryManager.kt b/agent-sdk/src/main/java/co/elastic/otel/android/internal/services/network/query/NetworkApi23QueryManager.kt
index e462801b8..5cbdec4de 100644
--- a/agent-sdk/src/main/java/co/elastic/otel/android/internal/services/network/query/NetworkApi23QueryManager.kt
+++ b/agent-sdk/src/main/java/co/elastic/otel/android/internal/services/network/query/NetworkApi23QueryManager.kt
@@ -18,6 +18,7 @@
*/
package co.elastic.otel.android.internal.services.network.query
+import android.Manifest
import android.net.ConnectivityManager
import android.net.ConnectivityManager.NetworkCallback
import android.net.Network
@@ -27,6 +28,7 @@ import android.os.Build
import android.telephony.TelephonyManager
import androidx.annotation.GuardedBy
import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
import co.elastic.otel.android.internal.services.network.listener.NetworkChangeListener
/**
@@ -48,6 +50,7 @@ internal class NetworkApi23QueryManager(
this.listener = listener
}
+ @RequiresPermission(Manifest.permission.READ_PHONE_STATE)
override fun getNetworkType(): Int {
return telephonyManager.networkType
}
diff --git a/agent-sdk/src/main/java/co/elastic/otel/android/internal/services/network/query/NetworkApi24QueryManager.kt b/agent-sdk/src/main/java/co/elastic/otel/android/internal/services/network/query/NetworkApi24QueryManager.kt
index 6b04de095..2ea18a91a 100644
--- a/agent-sdk/src/main/java/co/elastic/otel/android/internal/services/network/query/NetworkApi24QueryManager.kt
+++ b/agent-sdk/src/main/java/co/elastic/otel/android/internal/services/network/query/NetworkApi24QueryManager.kt
@@ -18,6 +18,7 @@
*/
package co.elastic.otel.android.internal.services.network.query
+import android.Manifest
import android.net.ConnectivityManager
import android.net.ConnectivityManager.NetworkCallback
import android.net.Network
@@ -25,6 +26,7 @@ import android.net.NetworkCapabilities
import android.os.Build
import android.telephony.TelephonyManager
import androidx.annotation.RequiresApi
+import androidx.annotation.RequiresPermission
import co.elastic.otel.android.internal.services.network.listener.NetworkChangeListener
/**
@@ -42,6 +44,7 @@ internal class NetworkApi24QueryManager(
this.listener = listener
}
+ @RequiresPermission(anyOf = [Manifest.permission.READ_BASIC_PHONE_STATE, Manifest.permission.READ_PHONE_STATE])
override fun getNetworkType(): Int {
return telephonyManager.dataNetworkType
}