Merge "[SB Refactor] Support all possible data connection ints." into tm-qpr-dev am: 7183782a78
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21161759 Change-Id: I2238c022a1cc383430e36736fe81a302cc3566d2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -20,16 +20,21 @@ import android.telephony.TelephonyManager.DATA_CONNECTED
|
|||||||
import android.telephony.TelephonyManager.DATA_CONNECTING
|
import android.telephony.TelephonyManager.DATA_CONNECTING
|
||||||
import android.telephony.TelephonyManager.DATA_DISCONNECTED
|
import android.telephony.TelephonyManager.DATA_DISCONNECTED
|
||||||
import android.telephony.TelephonyManager.DATA_DISCONNECTING
|
import android.telephony.TelephonyManager.DATA_DISCONNECTING
|
||||||
|
import android.telephony.TelephonyManager.DATA_HANDOVER_IN_PROGRESS
|
||||||
|
import android.telephony.TelephonyManager.DATA_SUSPENDED
|
||||||
import android.telephony.TelephonyManager.DATA_UNKNOWN
|
import android.telephony.TelephonyManager.DATA_UNKNOWN
|
||||||
import android.telephony.TelephonyManager.DataState
|
import android.telephony.TelephonyManager.DataState
|
||||||
|
|
||||||
/** Internal enum representation of the telephony data connection states */
|
/** Internal enum representation of the telephony data connection states */
|
||||||
enum class DataConnectionState(@DataState val dataState: Int) {
|
enum class DataConnectionState {
|
||||||
Connected(DATA_CONNECTED),
|
Connected,
|
||||||
Connecting(DATA_CONNECTING),
|
Connecting,
|
||||||
Disconnected(DATA_DISCONNECTED),
|
Disconnected,
|
||||||
Disconnecting(DATA_DISCONNECTING),
|
Disconnecting,
|
||||||
Unknown(DATA_UNKNOWN),
|
Suspended,
|
||||||
|
HandoverInProgress,
|
||||||
|
Unknown,
|
||||||
|
Invalid,
|
||||||
}
|
}
|
||||||
|
|
||||||
fun @receiver:DataState Int.toDataConnectionType(): DataConnectionState =
|
fun @receiver:DataState Int.toDataConnectionType(): DataConnectionState =
|
||||||
@@ -38,6 +43,8 @@ fun @receiver:DataState Int.toDataConnectionType(): DataConnectionState =
|
|||||||
DATA_CONNECTING -> DataConnectionState.Connecting
|
DATA_CONNECTING -> DataConnectionState.Connecting
|
||||||
DATA_DISCONNECTED -> DataConnectionState.Disconnected
|
DATA_DISCONNECTED -> DataConnectionState.Disconnected
|
||||||
DATA_DISCONNECTING -> DataConnectionState.Disconnecting
|
DATA_DISCONNECTING -> DataConnectionState.Disconnecting
|
||||||
|
DATA_SUSPENDED -> DataConnectionState.Suspended
|
||||||
|
DATA_HANDOVER_IN_PROGRESS -> DataConnectionState.HandoverInProgress
|
||||||
DATA_UNKNOWN -> DataConnectionState.Unknown
|
DATA_UNKNOWN -> DataConnectionState.Unknown
|
||||||
else -> throw IllegalArgumentException("unknown data state received $this")
|
else -> DataConnectionState.Invalid
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ data class MobileConnectionModel(
|
|||||||
) : Diffable<MobileConnectionModel> {
|
) : Diffable<MobileConnectionModel> {
|
||||||
override fun logDiffs(prevVal: MobileConnectionModel, row: TableRowLogger) {
|
override fun logDiffs(prevVal: MobileConnectionModel, row: TableRowLogger) {
|
||||||
if (prevVal.dataConnectionState != dataConnectionState) {
|
if (prevVal.dataConnectionState != dataConnectionState) {
|
||||||
row.logChange(COL_CONNECTION_STATE, dataConnectionState.toString())
|
row.logChange(COL_CONNECTION_STATE, dataConnectionState.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (prevVal.isEmergencyOnly != isEmergencyOnly) {
|
if (prevVal.isEmergencyOnly != isEmergencyOnly) {
|
||||||
@@ -139,7 +139,7 @@ data class MobileConnectionModel(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun logFull(row: TableRowLogger) {
|
override fun logFull(row: TableRowLogger) {
|
||||||
row.logChange(COL_CONNECTION_STATE, dataConnectionState.toString())
|
row.logChange(COL_CONNECTION_STATE, dataConnectionState.name)
|
||||||
row.logChange(COL_EMERGENCY, isEmergencyOnly)
|
row.logChange(COL_EMERGENCY, isEmergencyOnly)
|
||||||
row.logChange(COL_ROAMING, isRoaming)
|
row.logChange(COL_ROAMING, isRoaming)
|
||||||
row.logChange(COL_OPERATOR, operatorAlphaShort)
|
row.logChange(COL_OPERATOR, operatorAlphaShort)
|
||||||
|
|||||||
@@ -41,6 +41,8 @@ import android.telephony.TelephonyManager.DATA_CONNECTED
|
|||||||
import android.telephony.TelephonyManager.DATA_CONNECTING
|
import android.telephony.TelephonyManager.DATA_CONNECTING
|
||||||
import android.telephony.TelephonyManager.DATA_DISCONNECTED
|
import android.telephony.TelephonyManager.DATA_DISCONNECTED
|
||||||
import android.telephony.TelephonyManager.DATA_DISCONNECTING
|
import android.telephony.TelephonyManager.DATA_DISCONNECTING
|
||||||
|
import android.telephony.TelephonyManager.DATA_HANDOVER_IN_PROGRESS
|
||||||
|
import android.telephony.TelephonyManager.DATA_SUSPENDED
|
||||||
import android.telephony.TelephonyManager.DATA_UNKNOWN
|
import android.telephony.TelephonyManager.DATA_UNKNOWN
|
||||||
import android.telephony.TelephonyManager.ERI_OFF
|
import android.telephony.TelephonyManager.ERI_OFF
|
||||||
import android.telephony.TelephonyManager.ERI_ON
|
import android.telephony.TelephonyManager.ERI_ON
|
||||||
@@ -254,6 +256,37 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {
|
|||||||
job.cancel()
|
job.cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testFlowForSubId_dataConnectionState_suspended() =
|
||||||
|
runBlocking(IMMEDIATE) {
|
||||||
|
var latest: MobileConnectionModel? = null
|
||||||
|
val job = underTest.connectionInfo.onEach { latest = it }.launchIn(this)
|
||||||
|
|
||||||
|
val callback =
|
||||||
|
getTelephonyCallbackForType<TelephonyCallback.DataConnectionStateListener>()
|
||||||
|
callback.onDataConnectionStateChanged(DATA_SUSPENDED, 200 /* unused */)
|
||||||
|
|
||||||
|
assertThat(latest?.dataConnectionState).isEqualTo(DataConnectionState.Suspended)
|
||||||
|
|
||||||
|
job.cancel()
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testFlowForSubId_dataConnectionState_handoverInProgress() =
|
||||||
|
runBlocking(IMMEDIATE) {
|
||||||
|
var latest: MobileConnectionModel? = null
|
||||||
|
val job = underTest.connectionInfo.onEach { latest = it }.launchIn(this)
|
||||||
|
|
||||||
|
val callback =
|
||||||
|
getTelephonyCallbackForType<TelephonyCallback.DataConnectionStateListener>()
|
||||||
|
callback.onDataConnectionStateChanged(DATA_HANDOVER_IN_PROGRESS, 200 /* unused */)
|
||||||
|
|
||||||
|
assertThat(latest?.dataConnectionState)
|
||||||
|
.isEqualTo(DataConnectionState.HandoverInProgress)
|
||||||
|
|
||||||
|
job.cancel()
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testFlowForSubId_dataConnectionState_unknown() =
|
fun testFlowForSubId_dataConnectionState_unknown() =
|
||||||
runBlocking(IMMEDIATE) {
|
runBlocking(IMMEDIATE) {
|
||||||
@@ -269,6 +302,21 @@ class MobileConnectionRepositoryTest : SysuiTestCase() {
|
|||||||
job.cancel()
|
job.cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testFlowForSubId_dataConnectionState_invalid() =
|
||||||
|
runBlocking(IMMEDIATE) {
|
||||||
|
var latest: MobileConnectionModel? = null
|
||||||
|
val job = underTest.connectionInfo.onEach { latest = it }.launchIn(this)
|
||||||
|
|
||||||
|
val callback =
|
||||||
|
getTelephonyCallbackForType<TelephonyCallback.DataConnectionStateListener>()
|
||||||
|
callback.onDataConnectionStateChanged(45, 200 /* unused */)
|
||||||
|
|
||||||
|
assertThat(latest?.dataConnectionState).isEqualTo(DataConnectionState.Invalid)
|
||||||
|
|
||||||
|
job.cancel()
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testFlowForSubId_dataActivity() =
|
fun testFlowForSubId_dataActivity() =
|
||||||
runBlocking(IMMEDIATE) {
|
runBlocking(IMMEDIATE) {
|
||||||
|
|||||||
Reference in New Issue
Block a user