diff options
author | Wink Saville <wink@google.com> | 2011-01-07 11:00:42 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-01-07 11:00:42 -0800 |
commit | 81f573de6361b0420b22c857afa7e03df125d1a5 (patch) | |
tree | 7dc1778e6c097c4421f8553368fb481fb3600fe6 /telephony | |
parent | 3c38e0a2a617f87a43d3647b532e3b493b7dae6d (diff) | |
parent | cde0233512f8dbbc62238e90c850c310894e3972 (diff) | |
download | frameworks_base-81f573de6361b0420b22c857afa7e03df125d1a5.zip frameworks_base-81f573de6361b0420b22c857afa7e03df125d1a5.tar.gz frameworks_base-81f573de6361b0420b22c857afa7e03df125d1a5.tar.bz2 |
Merge "Add telephony.sms.receive and telephony.sms.send properties." into honeycomb
Diffstat (limited to 'telephony')
4 files changed, 29 insertions, 7 deletions
diff --git a/telephony/java/com/android/internal/telephony/SMSDispatcher.java b/telephony/java/com/android/internal/telephony/SMSDispatcher.java index e7cfe75..99123af 100644 --- a/telephony/java/com/android/internal/telephony/SMSDispatcher.java +++ b/telephony/java/com/android/internal/telephony/SMSDispatcher.java @@ -37,6 +37,7 @@ import android.os.Handler; import android.os.Message; import android.os.PowerManager; import android.os.StatFs; +import android.os.SystemProperties; import android.provider.Telephony; import android.provider.Telephony.Sms.Intents; import android.provider.Settings; @@ -156,8 +157,10 @@ public abstract class SMSDispatcher extends Handler { protected boolean mStorageAvailable = true; protected boolean mReportMemoryStatusPending = false; - /* Flag indicating whether the current device allows sms service */ + /* Flags indicating whether the current device allows sms service */ protected boolean mSmsCapable = true; + protected boolean mSmsReceiveDisabled; + protected boolean mSmsSendDisabled; protected static int getNextConcatenatedRef() { sConcatenatedRef += 1; @@ -255,6 +258,13 @@ public abstract class SMSDispatcher extends Handler { mSmsCapable = mContext.getResources().getBoolean( com.android.internal.R.bool.config_sms_capable); + mSmsReceiveDisabled = !SystemProperties.getBoolean( + TelephonyProperties.PROPERTY_SMS_RECEIVE, mSmsCapable); + mSmsSendDisabled = !SystemProperties.getBoolean( + TelephonyProperties.PROPERTY_SMS_SEND, mSmsCapable); + Log.d(TAG, "SMSDispatcher: ctor mSmsCapable=" + mSmsCapable + + " mSmsReceiveDisabled=" + mSmsReceiveDisabled + + " mSmsSendDisabled=" + mSmsSendDisabled); } public void dispose() { @@ -783,13 +793,13 @@ public abstract class SMSDispatcher extends Handler { */ protected void sendRawPdu(byte[] smsc, byte[] pdu, PendingIntent sentIntent, PendingIntent deliveryIntent) { - if (!mSmsCapable) { + if (mSmsSendDisabled) { if (sentIntent != null) { try { sentIntent.send(RESULT_ERROR_NO_SERVICE); } catch (CanceledException ex) {} } - Log.d(TAG, "Device does not support sms service."); + Log.d(TAG, "Device does not support sending sms."); return; } diff --git a/telephony/java/com/android/internal/telephony/TelephonyProperties.java b/telephony/java/com/android/internal/telephony/TelephonyProperties.java index 136d5b1..e6189be 100644 --- a/telephony/java/com/android/internal/telephony/TelephonyProperties.java +++ b/telephony/java/com/android/internal/telephony/TelephonyProperties.java @@ -147,4 +147,16 @@ public interface TelephonyProperties * when there is a radio technology change. */ static final String PROPERTY_RESET_ON_RADIO_TECH_CHANGE = "persist.radio.reset_on_switch"; + + /** + * Set to false to disable SMS receiving, default is + * the value of config_sms_capable + */ + static final String PROPERTY_SMS_RECEIVE = "telephony.sms.receive"; + + /** + * Set to false to disable SMS sending, default is + * the value of config_sms_capable + */ + static final String PROPERTY_SMS_SEND = "telephony.sms.send"; } diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java b/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java index 01234b0..6bd2d09 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java @@ -107,10 +107,10 @@ final class CdmaSMSDispatcher extends SMSDispatcher { return Activity.RESULT_OK; } - if (!mSmsCapable) { - // Device doesn't support SMS service, + if (mSmsReceiveDisabled) { + // Device doesn't support receiving SMS, Log.d(TAG, "Received short message on device which doesn't support " - + "SMS service. Ignored."); + + "receiving SMS. Ignored."); return Intents.RESULT_SMS_HANDLED; } diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java b/telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java index 497c552..bbe579d 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmSMSDispatcher.java @@ -110,7 +110,7 @@ final class GsmSMSDispatcher extends SMSDispatcher { return Intents.RESULT_SMS_HANDLED; } - if (!mSmsCapable) { + if (mSmsReceiveDisabled) { // Device doesn't support SMS service, Log.d(TAG, "Received short message on device which doesn't support " + "SMS service. Ignored."); |