summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--telephony/java/com/android/internal/telephony/RIL.java26
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