01/01: fixes #1036 Block the SMS whose content is only "="
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository say-my-texts. See http://git.chorem.org/say-my-texts.git commit c9584db0b4278f542268bf543bc29c039a2259a5 Author: Kevin Morin <morin@codelutin.com> Date: Wed Jun 18 14:21:19 2014 +0200 fixes #1036 Block the SMS whose content is only "=" --- res/values-fr/strings.xml | 1 + res/values/preference_keys.xml | 1 + res/values/strings.xml | 1 + res/xml/preferences.xml | 4 +++ .../saymytexts/NewTextBroadcastReceiver.java | 34 +++++++++++++--------- .../android/saymytexts/SettingsActivity.java | 9 ++++-- 6 files changed, 35 insertions(+), 15 deletions(-) diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index f8c3754..5792d2b 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -13,6 +13,7 @@ <string name="preference_enable_interaction_label">Interaction (appel ou réponse)</string> <string name="preference_voice_recognizer_max_attempt_number_label">Nombre maximum d\'essais</string> <string name="preference_enable_heisendroid_mode_label">Mode Heisendroid</string> + <string name="preference_block_equals_sms_label">Bloque les SMSs "="</string> <string name="preference_test_sms_label">Tester en m\'envoyant un SMS</string> <string name="test_sms_content">Heisendroïd</string> diff --git a/res/values/preference_keys.xml b/res/values/preference_keys.xml index 43006d2..93f7ac6 100644 --- a/res/values/preference_keys.xml +++ b/res/values/preference_keys.xml @@ -4,6 +4,7 @@ <string name="preference_enable_interaction_key">enable_interaction</string> <string name="preference_enable_heisendroid_mode_key">enable_heisendroid_mode</string> <string name="preference_voice_recognizer_max_attempt_number_key">preference_voice_recognizer_max_attempt_number</string> + <string name="preference_block_equals_sms_key">preference_block_equals_sms_key</string> <string name="preference_test_sms_key">test_sms</string> <string name="preference_version_key">version</string> <string name="preference_documentation_key">documentation</string> diff --git a/res/values/strings.xml b/res/values/strings.xml index d8792de..5cf4ed1 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -13,6 +13,7 @@ <string name="preference_enable_interaction_label">Interaction (call or answer)</string> <string name="preference_voice_recognizer_max_attempt_number_label">Maximum attempt number</string> <string name="preference_enable_heisendroid_mode_label">Heisendroid mode</string> + <string name="preference_block_equals_sms_label">Block the "=" SMSs</string> <string name="preference_test_sms_label">Test by sending an SMS to myself</string> <string name="test_sms_content">Heisendroïd</string> diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 1afb239..a669e1e 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -23,6 +23,10 @@ android:title="@string/preference_enable_heisendroid_mode_label" android:defaultValue="false"/> + <SwitchPreference android:key="@string/preference_block_equals_sms_key" + android:title="@string/preference_block_equals_sms_label" + android:defaultValue="false"/> + <Preference android:key="@string/preference_test_sms_key" android:title="@string/preference_test_sms_label" android:persistent="false"/> diff --git a/src/org/chorem/android/saymytexts/NewTextBroadcastReceiver.java b/src/org/chorem/android/saymytexts/NewTextBroadcastReceiver.java index 1c98151..908c97f 100644 --- a/src/org/chorem/android/saymytexts/NewTextBroadcastReceiver.java +++ b/src/org/chorem/android/saymytexts/NewTextBroadcastReceiver.java @@ -30,9 +30,11 @@ import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; +import android.preference.PreferenceManager; import android.provider.BaseColumns; import android.provider.ContactsContract; import android.telephony.SmsMessage; @@ -70,20 +72,26 @@ public class NewTextBroadcastReceiver extends BroadcastReceiver { // check if the message is '=' to avoid restart the phone if ("=".equals(messageReceived.trim())) { - abortBroadcast(); - - } else { - // Get the Sender Phone Number - String senderPhoneNumber = msgs[0].getDisplayOriginatingAddress(); - String senderName = getContactDisplayNameByNumber(context, senderPhoneNumber); - SMS sms = new SMS(senderPhoneNumber, senderName, messageReceived); - - Log.d(TAG, messageReceived); - // start the service to say it out loud - serviceIntent.putExtra(SayMyTextService.INTENT_EXTRA_SMS, sms); - serviceIntent.setAction(SayMyTextService.ACTION_READ_SMS); - context.startService(serviceIntent); + SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context); + String key = context.getString(R.string.preference_block_equals_sms_key); + boolean blockEqualsSms = sharedPref.getBoolean(key, false); + + if (blockEqualsSms) { + abortBroadcast(); + return; + } } + + // Get the Sender Phone Number + String senderPhoneNumber = msgs[0].getDisplayOriginatingAddress(); + String senderName = getContactDisplayNameByNumber(context, senderPhoneNumber); + SMS sms = new SMS(senderPhoneNumber, senderName, messageReceived); + + Log.d(TAG, messageReceived); + // start the service to say it out loud + serviceIntent.putExtra(SayMyTextService.INTENT_EXTRA_SMS, sms); + serviceIntent.setAction(SayMyTextService.ACTION_READ_SMS); + context.startService(serviceIntent); } } else { diff --git a/src/org/chorem/android/saymytexts/SettingsActivity.java b/src/org/chorem/android/saymytexts/SettingsActivity.java index be81be4..b59ad7e 100644 --- a/src/org/chorem/android/saymytexts/SettingsActivity.java +++ b/src/org/chorem/android/saymytexts/SettingsActivity.java @@ -158,8 +158,13 @@ public class SettingsActivity extends Activity { key = getString(R.string.preference_enable_heisendroid_mode_key); switchPreference = (SwitchPreference) findPreference(key); - interactionEnabled = sharedPref.getBoolean(key, switchPreference.isChecked()); - switchPreference.setChecked(interactionEnabled); + enabled = sharedPref.getBoolean(key, switchPreference.isChecked()); + switchPreference.setChecked(enabled); + + key = getString(R.string.preference_block_equals_sms_key); + switchPreference = (SwitchPreference) findPreference(key); + enabled = sharedPref.getBoolean(key, switchPreference.isChecked()); + switchPreference.setChecked(enabled); sharedPref.registerOnSharedPreferenceChangeListener(this); } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
chorem.org scm