diff options
| -rw-r--r-- | telephony/java/com/android/internal/telephony/RIL.java | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/telephony/java/com/android/internal/telephony/RIL.java b/telephony/java/com/android/internal/telephony/RIL.java index 91b19a97f17a..657377f94d1c 100644 --- a/telephony/java/com/android/internal/telephony/RIL.java +++ b/telephony/java/com/android/internal/telephony/RIL.java @@ -244,6 +244,8 @@ public final class RIL extends BaseCommands implements CommandsInterface { Object mLastNITZTimeInfo; + private static final String WIFI_ONLY_CARRIER = "wifi-only"; + //***** Events static final int EVENT_SEND = 1; @@ -656,14 +658,22 @@ public final class RIL extends BaseCommands implements CommandsInterface { Looper looper = mSenderThread.getLooper(); mSender = new RILSender(looper); - mReceiver = new RILReceiver(); - mReceiverThread = new Thread(mReceiver, "RILReceiver"); - mReceiverThread.start(); - - IntentFilter filter = new IntentFilter(); - filter.addAction(Intent.ACTION_SCREEN_ON); - filter.addAction(Intent.ACTION_SCREEN_OFF); - context.registerReceiver(mIntentReceiver, filter); + // TODO: Provide a common API for determining if a + // device is wifi-only. bug: 3480713 + String carrier = SystemProperties.get("ro.carrier"); + if (WIFI_ONLY_CARRIER.equals(carrier)) { + riljLog("Not starting RILReceiver: wifi-only"); + } else { + riljLog("Starting RILReceiver"); + mReceiver = new RILReceiver(); + mReceiverThread = new Thread(mReceiver, "RILReceiver"); + mReceiverThread.start(); + + IntentFilter filter = new IntentFilter(); + filter.addAction(Intent.ACTION_SCREEN_ON); + filter.addAction(Intent.ACTION_SCREEN_OFF); + context.registerReceiver(mIntentReceiver, filter); + } } //***** CommandsInterface implementation |