fixed session_timestamp null issue and networkType permission issue (#64)

This commit is contained in:
Sayed Owais Ali
2023-12-04 14:05:54 +05:30
committed by GitHub
parent 2d2ce98e2d
commit 75802da058
3 changed files with 37 additions and 30 deletions

View File

@@ -6,7 +6,7 @@ plugins {
id 'kotlin-parcelize'
}
def VERSION_NAME = "1.0.13"
def VERSION_NAME = "1.0.14"
android {
namespace 'com.navi.alfred'

View File

@@ -37,35 +37,41 @@ internal fun handleDeviceAttributes() {
@SuppressLint("MissingPermission")
internal fun getNetworkType(context: Context): String {
try {
val connManager =
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
if (mWifi != null && mWifi.isConnected) return "Wifi"
val mTelephonyManager =
context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
return when (mTelephonyManager.networkType) {
TelephonyManager.NETWORK_TYPE_GPRS,
TelephonyManager.NETWORK_TYPE_EDGE,
TelephonyManager.NETWORK_TYPE_CDMA,
TelephonyManager.NETWORK_TYPE_1xRTT,
TelephonyManager.NETWORK_TYPE_IDEN -> "2G"
TelephonyManager.NETWORK_TYPE_UMTS,
TelephonyManager.NETWORK_TYPE_EVDO_0,
TelephonyManager.NETWORK_TYPE_EVDO_A,
TelephonyManager.NETWORK_TYPE_HSDPA,
TelephonyManager.NETWORK_TYPE_HSUPA,
TelephonyManager.NETWORK_TYPE_HSPA,
TelephonyManager.NETWORK_TYPE_EVDO_B,
TelephonyManager.NETWORK_TYPE_EHRPD,
TelephonyManager.NETWORK_TYPE_HSPAP -> "3G"
TelephonyManager.NETWORK_TYPE_LTE -> "4G"
TelephonyManager.NETWORK_TYPE_NR -> "5G"
else -> "Unknown" + AlfredConstants.UNDERSCORE + mTelephonyManager.networkType
}
} catch (e: Exception) {
e.log()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
return "Unknown"
} else {
try {
val connManager =
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
if (mWifi != null && mWifi.isConnected) return "Wifi"
val mTelephonyManager =
context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
return when (mTelephonyManager.networkType) {
TelephonyManager.NETWORK_TYPE_GPRS,
TelephonyManager.NETWORK_TYPE_EDGE,
TelephonyManager.NETWORK_TYPE_CDMA,
TelephonyManager.NETWORK_TYPE_1xRTT,
TelephonyManager.NETWORK_TYPE_IDEN -> "2G"
TelephonyManager.NETWORK_TYPE_UMTS,
TelephonyManager.NETWORK_TYPE_EVDO_0,
TelephonyManager.NETWORK_TYPE_EVDO_A,
TelephonyManager.NETWORK_TYPE_HSDPA,
TelephonyManager.NETWORK_TYPE_HSUPA,
TelephonyManager.NETWORK_TYPE_HSPA,
TelephonyManager.NETWORK_TYPE_EVDO_B,
TelephonyManager.NETWORK_TYPE_EHRPD,
TelephonyManager.NETWORK_TYPE_HSPAP -> "3G"
TelephonyManager.NETWORK_TYPE_LTE -> "4G"
TelephonyManager.NETWORK_TYPE_NR -> "5G"
else -> "Unknown" + AlfredConstants.UNDERSCORE + mTelephonyManager.networkType
}
} catch (e: Exception) {
e.log()
return "Unknown"
}
}
}

View File

@@ -287,7 +287,8 @@ internal fun sendAlfredSessionEvent(
sessionId = AlfredManager.config.getAlfredSessionId(),
eventTimeStamp = AlfredManager.config.getEventTimeStamp(),
clientTs = AlfredManager.config.getEventStartRecordingTime(),
latestScreenshotTimestamp = latestScreenshotTimestamp
latestScreenshotTimestamp = latestScreenshotTimestamp,
sessionTimeStamp = AlfredManager.config.getSessionStartRecordingTime()
),
session_upload_event_attributes =
SessionEventAttribute(