Merge "Add telephony.sms.receive and telephony.sms.send properties." into honeycomb

This commit is contained in:
Wink Saville
2011-01-07 11:00:42 -08:00
committed by Android (Google) Code Review
4 changed files with 29 additions and 7 deletions

View File

@@ -37,6 +37,7 @@ import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.os.PowerManager; import android.os.PowerManager;
import android.os.StatFs; import android.os.StatFs;
import android.os.SystemProperties;
import android.provider.Telephony; import android.provider.Telephony;
import android.provider.Telephony.Sms.Intents; import android.provider.Telephony.Sms.Intents;
import android.provider.Settings; import android.provider.Settings;
@@ -156,8 +157,10 @@ public abstract class SMSDispatcher extends Handler {
protected boolean mStorageAvailable = true; protected boolean mStorageAvailable = true;
protected boolean mReportMemoryStatusPending = false; 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 mSmsCapable = true;
protected boolean mSmsReceiveDisabled;
protected boolean mSmsSendDisabled;
protected static int getNextConcatenatedRef() { protected static int getNextConcatenatedRef() {
sConcatenatedRef += 1; sConcatenatedRef += 1;
@@ -255,6 +258,13 @@ public abstract class SMSDispatcher extends Handler {
mSmsCapable = mContext.getResources().getBoolean( mSmsCapable = mContext.getResources().getBoolean(
com.android.internal.R.bool.config_sms_capable); 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() { public void dispose() {
@@ -783,13 +793,13 @@ public abstract class SMSDispatcher extends Handler {
*/ */
protected void sendRawPdu(byte[] smsc, byte[] pdu, PendingIntent sentIntent, protected void sendRawPdu(byte[] smsc, byte[] pdu, PendingIntent sentIntent,
PendingIntent deliveryIntent) { PendingIntent deliveryIntent) {
if (!mSmsCapable) { if (mSmsSendDisabled) {
if (sentIntent != null) { if (sentIntent != null) {
try { try {
sentIntent.send(RESULT_ERROR_NO_SERVICE); sentIntent.send(RESULT_ERROR_NO_SERVICE);
} catch (CanceledException ex) {} } catch (CanceledException ex) {}
} }
Log.d(TAG, "Device does not support sms service."); Log.d(TAG, "Device does not support sending sms.");
return; return;
} }

View File

@@ -147,4 +147,16 @@ public interface TelephonyProperties
* when there is a radio technology change. * when there is a radio technology change.
*/ */
static final String PROPERTY_RESET_ON_RADIO_TECH_CHANGE = "persist.radio.reset_on_switch"; 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";
} }

View File

@@ -107,10 +107,10 @@ final class CdmaSMSDispatcher extends SMSDispatcher {
return Activity.RESULT_OK; return Activity.RESULT_OK;
} }
if (!mSmsCapable) { if (mSmsReceiveDisabled) {
// Device doesn't support SMS service, // Device doesn't support receiving SMS,
Log.d(TAG, "Received short message on device which doesn't support " Log.d(TAG, "Received short message on device which doesn't support "
+ "SMS service. Ignored."); + "receiving SMS. Ignored.");
return Intents.RESULT_SMS_HANDLED; return Intents.RESULT_SMS_HANDLED;
} }

View File

@@ -110,7 +110,7 @@ final class GsmSMSDispatcher extends SMSDispatcher {
return Intents.RESULT_SMS_HANDLED; return Intents.RESULT_SMS_HANDLED;
} }
if (!mSmsCapable) { if (mSmsReceiveDisabled) {
// Device doesn't support SMS service, // Device doesn't support SMS service,
Log.d(TAG, "Received short message on device which doesn't support " Log.d(TAG, "Received short message on device which doesn't support "
+ "SMS service. Ignored."); + "SMS service. Ignored.");