aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/com/android/internal/telephony/ServiceStateTracker.java
diff options
context:
space:
mode:
authorfionaxu <fionaxu@google.com>2016-05-23 16:26:38 -0700
committerfionaxu <fionaxu@google.com>2016-06-03 14:04:09 -0700
commit4c31e4c0d2db31fe84081aa6f1e2bcc08b31f9d3 (patch)
tree9b3a8bb059a9b4a7cb5ff88d46020edc32f933b9 /src/java/com/android/internal/telephony/ServiceStateTracker.java
parent3630d6b29d5bc73f3032127370d0ecc9c33c70ea (diff)
downloadandroid_frameworks_opt_telephony-4c31e4c0d2db31fe84081aa6f1e2bcc08b31f9d3.tar.gz
android_frameworks_opt_telephony-4c31e4c0d2db31fe84081aa6f1e2bcc08b31f9d3.tar.bz2
android_frameworks_opt_telephony-4c31e4c0d2db31fe84081aa6f1e2bcc08b31f9d3.zip
cold sim clean up
- add new api to control provisioning notification visibility through network agent - rework on the interaction between carrier app and framework - code cleanup - unit test support - hook pco value into datacallcomplete, enabling test by set sysprop for pco values Bug: 28567303 Change-Id: Id6b9b2aff4c4f128103593aab0bcef1c3a365141
Diffstat (limited to 'src/java/com/android/internal/telephony/ServiceStateTracker.java')
-rw-r--r--src/java/com/android/internal/telephony/ServiceStateTracker.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/java/com/android/internal/telephony/ServiceStateTracker.java b/src/java/com/android/internal/telephony/ServiceStateTracker.java
index 8af290e00..1122b36f3 100644
--- a/src/java/com/android/internal/telephony/ServiceStateTracker.java
+++ b/src/java/com/android/internal/telephony/ServiceStateTracker.java
@@ -252,6 +252,8 @@ public class ServiceStateTracker extends Handler {
private boolean mImsRegistrationOnOff = false;
private boolean mAlarmSwitch = false;
+ /** Radio is disabled by carrier. Radio power will not be override if this field is set */
+ private boolean mRadioDisabledByCarrier = false;
private PendingIntent mRadioOffIntent = null;
private static final String ACTION_RADIO_OFF = "android.intent.action.ACTION_RADIO_OFF";
private boolean mPowerOffDelayNeed = true;
@@ -796,6 +798,16 @@ public class ServiceStateTracker extends Handler {
}
/**
+ * Radio power set from carrier action. if set to false means carrier desire to turn radio off
+ * and radio wont be re-enabled unless carrier explicitly turn it back on.
+ * @param enable indicate if radio power is enabled or disabled from carrier action.
+ */
+ public void setRadioPowerFromCarrier(boolean enable) {
+ mRadioDisabledByCarrier = !enable;
+ setRadioPower(enable);
+ }
+
+ /**
* These two flags manage the behavior of the cell lock -- the
* lock should be held if either flag is true. The intention is
* to allow temporary acquisition of the lock to get a single
@@ -2266,7 +2278,8 @@ public class ServiceStateTracker extends Handler {
", mDesiredPowerState=" + mDesiredPowerState +
", getRadioState=" + mCi.getRadioState() +
", mPowerOffDelayNeed=" + mPowerOffDelayNeed +
- ", mAlarmSwitch=" + mAlarmSwitch);
+ ", mAlarmSwitch=" + mAlarmSwitch +
+ ", mRadioDisabledByCarrier=" + mRadioDisabledByCarrier);
}
if (mPhone.isPhoneTypeGsm() && mAlarmSwitch) {
@@ -2279,7 +2292,8 @@ public class ServiceStateTracker extends Handler {
// If we want it on and it's off, turn it on
if (mDesiredPowerState
- && mCi.getRadioState() == CommandsInterface.RadioState.RADIO_OFF) {
+ && mCi.getRadioState() == CommandsInterface.RadioState.RADIO_OFF &&
+ !mRadioDisabledByCarrier) {
mCi.setRadioPower(true, null);
} else if (!mDesiredPowerState && mCi.getRadioState().isOn()) {
// If it's on and available and we want it off gracefully
@@ -4566,6 +4580,7 @@ public class ServiceStateTracker extends Handler {
pw.println(" mImsRegistered=" + mImsRegistered);
pw.println(" mImsRegistrationOnOff=" + mImsRegistrationOnOff);
pw.println(" mAlarmSwitch=" + mAlarmSwitch);
+ pw.println(" mRadioDisabledByCarrier" + mRadioDisabledByCarrier);
pw.println(" mPowerOffDelayNeed=" + mPowerOffDelayNeed);
pw.println(" mDeviceShuttingDown=" + mDeviceShuttingDown);
pw.println(" mSpnUpdatePending=" + mSpnUpdatePending);