diff options
author | fionaxu <fionaxu@google.com> | 2016-05-23 16:26:38 -0700 |
---|---|---|
committer | fionaxu <fionaxu@google.com> | 2016-06-03 14:04:09 -0700 |
commit | 4c31e4c0d2db31fe84081aa6f1e2bcc08b31f9d3 (patch) | |
tree | 9b3a8bb059a9b4a7cb5ff88d46020edc32f933b9 /src/java/com/android/internal/telephony/ServiceStateTracker.java | |
parent | 3630d6b29d5bc73f3032127370d0ecc9c33c70ea (diff) | |
download | android_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.java | 19 |
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); |