From 597f2b7022db1368831251d776f42b98d10ba2cd Mon Sep 17 00:00:00 2001 From: johnwang Date: Mon, 10 Aug 2009 11:44:57 -0700 Subject: [PATCH] Add ro.telephony.disable-call check in dialing. When ro.telephony.disable-call is set to true the phone disable actual calls. It provides a way to test in user-debug builds for stability runs. See bug 2031157. modified: java/com/android/internal/telephony/TelephonyProperties.java modified: java/com/android/internal/telephony/cdma/CdmaCallTracker.java modified: java/com/android/internal/telephony/gsm/GsmCallTracker.java modified: java/com/android/internal/telephony/TelephonyProperties.java modified: java/com/android/internal/telephony/cdma/CdmaCallTracker.java modified: java/com/android/internal/telephony/gsm/GsmCallTracker.java --- .../internal/telephony/TelephonyProperties.java | 5 +++++ .../internal/telephony/cdma/CdmaCallTracker.java | 11 +++++++---- .../internal/telephony/gsm/GsmCallTracker.java | 9 ++++++--- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/telephony/java/com/android/internal/telephony/TelephonyProperties.java b/telephony/java/com/android/internal/telephony/TelephonyProperties.java index 8a1e928ad1363..60e0a44cb3d51 100644 --- a/telephony/java/com/android/internal/telephony/TelephonyProperties.java +++ b/telephony/java/com/android/internal/telephony/TelephonyProperties.java @@ -115,4 +115,9 @@ public interface TelephonyProperties */ static final String PROPERTY_OTASP_NUM_SCHEMA = "ro.cdma.otaspnumschema"; + /** + * Disable all calls including Emergency call when it set to true. + */ + static final String PROPERTY_DISABLE_CALL = "ro.telephony.disable-call"; + } diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java index 3997639bf502d..be4763cfd0fed 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java @@ -321,13 +321,16 @@ public final class CdmaCallTracker extends CallTracker { canDial() { boolean ret; int serviceState = phone.getServiceState().getState(); + String disableCall = SystemProperties.get( + TelephonyProperties.PROPERTY_DISABLE_CALL, "false"); - ret = (serviceState != ServiceState.STATE_POWER_OFF) && - pendingMO == null + ret = (serviceState != ServiceState.STATE_POWER_OFF) + && pendingMO == null && !ringingCall.isRinging() + && !disableCall.equals("true") && (!foregroundCall.getState().isAlive() - || (foregroundCall.getState() == CdmaCall.State.ACTIVE) - || !backgroundCall.getState().isAlive()); + || (foregroundCall.getState() == CdmaCall.State.ACTIVE) + || !backgroundCall.getState().isAlive()); return ret; } diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java index db6e339025741..91c089e3c55ac 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java @@ -294,12 +294,15 @@ public final class GsmCallTracker extends CallTracker { canDial() { boolean ret; int serviceState = phone.getServiceState().getState(); + String disableCall = SystemProperties.get( + TelephonyProperties.PROPERTY_DISABLE_CALL, "false"); - ret = (serviceState != ServiceState.STATE_POWER_OFF) && - pendingMO == null + ret = (serviceState != ServiceState.STATE_POWER_OFF) + && pendingMO == null && !ringingCall.isRinging() + && !disableCall.equals("true") && (!foregroundCall.getState().isAlive() - || !backgroundCall.getState().isAlive()); + || !backgroundCall.getState().isAlive()); return ret; }