diff options
author | Meng Wang <mewan@google.com> | 2017-02-14 11:51:19 -0800 |
---|---|---|
committer | gitbuildkicker <android-build@google.com> | 2017-02-16 14:42:33 -0800 |
commit | 37392ec092a43a2f66f192b54895769d8f6ce09d (patch) | |
tree | 1d6fb049512334d2a2f648d733567f867f2e8f13 | |
parent | 122fcb16b359b96480db21ad26a21900c51562af (diff) | |
download | telephony-37392ec092a43a2f66f192b54895769d8f6ce09d.tar.gz |
Don't dial non-emergency CS voice call in airplane modeandroid-7.1.2_r9android-7.1.2_r8android-7.1.2_r6android-7.1.2_r5android-7.1.2_r4android-7.1.2_r36android-7.1.2_r33android-7.1.2_r32android-7.1.2_r30android-7.1.2_r3android-7.1.2_r29android-7.1.2_r28android-7.1.2_r27android-7.1.2_r25android-7.1.2_r24android-7.1.2_r23android-7.1.2_r2android-7.1.2_r19android-7.1.2_r18android-7.1.2_r17android-7.1.2_r16android-7.1.2_r15android-7.1.2_r14android-7.1.2_r13android-7.1.2_r12android-7.1.2_r11android-7.1.2_r10android-7.1.2_r1nougat-mr2.3-releasenougat-mr2.2-releasenougat-mr2.1-releasenougat-mr2-releasenougat-mr2-pixel-release
Added a new CallStateException error code ERROR_POWER_OFF
Bug: 28709116
Change-Id: Ia63196d5e8c051a91da3e2a7e60ac605dccf8344
(cherry picked from commit 16ebf27f93b3c8c5aaf4aa6a169a63a2dae5f436)
-rw-r--r-- | src/java/com/android/internal/telephony/CallStateException.java | 1 | ||||
-rw-r--r-- | src/java/com/android/internal/telephony/GsmCdmaPhone.java | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/java/com/android/internal/telephony/CallStateException.java b/src/java/com/android/internal/telephony/CallStateException.java index 57cbeb8525..cac701a706 100644 --- a/src/java/com/android/internal/telephony/CallStateException.java +++ b/src/java/com/android/internal/telephony/CallStateException.java @@ -27,6 +27,7 @@ public class CallStateException extends Exception public static final int ERROR_INVALID = -1; public static final int ERROR_DISCONNECTED = 1; + public static final int ERROR_POWER_OFF = 2; public CallStateException() diff --git a/src/java/com/android/internal/telephony/GsmCdmaPhone.java b/src/java/com/android/internal/telephony/GsmCdmaPhone.java index 333087998b..07afe0ca1e 100644 --- a/src/java/com/android/internal/telephony/GsmCdmaPhone.java +++ b/src/java/com/android/internal/telephony/GsmCdmaPhone.java @@ -1121,6 +1121,14 @@ public class GsmCdmaPhone extends Phone { && mSST.mSS.getDataRegState() != ServiceState.STATE_IN_SERVICE && !isEmergency) { throw new CallStateException("cannot dial in current state"); } + // Check non-emergency voice CS call - shouldn't dial when POWER_OFF + if (mSST != null && mSST.mSS.getState() == ServiceState.STATE_POWER_OFF /* CS POWER_OFF */ + && !VideoProfile.isVideo(videoState) /* voice call */ + && !isEmergency /* non-emergency call */) { + throw new CallStateException( + CallStateException.ERROR_POWER_OFF, + "cannot dial voice call in airplane mode"); + } if (DBG) logd("Trying (non-IMS) CS call"); if (isPhoneTypeGsm()) { |