aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Greenwalt <rgreenwalt@google.com>2015-09-03 17:09:26 -0700
committerThe Android Automerger <android-build@google.com>2015-09-15 14:04:12 -0700
commit082f02d3d9a865510db6c67162d302772559a93e (patch)
tree65b92f7d2f0be1ca9e8b1271643ccbc3542232c0
parentc0db70e3992184da49eeab9acbedacc04ed4ccf1 (diff)
downloadtelephony-android-cts-6.0_r1.tar.gz
Let some messages get processed in emergency stateandroid-cts-6.0_r1android-6.0.0_r2android-6.0.0_r1
Some pings and infrastructure events were getting defered in emergency mode. This led to hung processes. bug:24097705 Change-Id: I5415ae69bcf17a293d5af9ae093d7346b1dc076f
-rw-r--r--src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java b/src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java
index 68d3f5007d..ae2d2ff698 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java
@@ -170,11 +170,25 @@ public class DcSwitchStateMachine extends StateMachine {
break;
}
- default: {
+ // explicitly call out the messages we must defer
+ // anything not listed falls through to the default state
+ case DcSwitchAsyncChannel.REQ_CONNECT:
+ case DcSwitchAsyncChannel.REQ_RETRY_CONNECT:
+ case DcSwitchAsyncChannel.REQ_DISCONNECT_ALL:
+ case DcSwitchAsyncChannel.EVENT_DATA_ATTACHED:
+ case DcSwitchAsyncChannel.EVENT_DATA_DETACHED: {
log("EmergencyState: deferMessage msg.what=0x" + Integer.toHexString(msg.what));
deferMessage(msg);
break;
}
+
+ default: {
+ if (VDBG) {
+ log("EmergencyState: nothandled msg.what=0x" +
+ Integer.toHexString(msg.what));
+ }
+ return NOT_HANDLED;
+ }
}
return HANDLED;