Display message when operation fails since FDN being enabled

The terminal disallows SMS operations for numbers which are not in the Fixed
Dialing Number (FDN) list when the FDN service is enabled. FDN_CHECK_FAILURE
error is sent from by RIL when this happens. Display a message to the user.

Change-Id: I0c271db743997a24f12ef96f0162a62462f52569
diff --git a/res/values/strings.xml b/res/values/strings.xml
index a468c0a..dc17c78 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -554,6 +554,9 @@
          while sending. -->
     <string name="message_queued">Currently unable to send your message. It will be sent when the service becomes available.</string>
 
+    <!-- dialog error message when only is FDN is allowed. -->
+    <string name="fdn_check_failure">You can only send messages to your fixed dialing numbers.</string>
+
     <!-- Download Manager -->
     <!-- When an error occurs downloading a new message and a subject isn't available, substitute
          this default subject. -->
diff --git a/src/com/android/mms/transaction/SmsReceiverService.java b/src/com/android/mms/transaction/SmsReceiverService.java
index d2097b0..9317ba6 100755
--- a/src/com/android/mms/transaction/SmsReceiverService.java
+++ b/src/com/android/mms/transaction/SmsReceiverService.java
@@ -86,7 +86,7 @@
     public Handler mToastHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
-            Toast.makeText(SmsReceiverService.this, getString(R.string.message_queued),
+            Toast.makeText(SmsReceiverService.this, getString(msg.what),
                     Toast.LENGTH_SHORT).show();
         }
     };
@@ -265,7 +265,9 @@
             registerForServiceStateChanges();
             // We couldn't send the message, put in the queue to retry later.
             Sms.moveMessageToFolder(this, uri, Sms.MESSAGE_TYPE_QUEUED);
-            mToastHandler.sendEmptyMessage(1);
+            mToastHandler.sendEmptyMessage(R.string.message_queued);
+        } else if (mResultCode == SmsManager.RESULT_ERROR_FDN_CHECK_FAILURE) {
+            mToastHandler.sendEmptyMessage(R.string.fdn_check_failure);
         } else {
             if (Log.isLoggable(LogTag.TRANSACTION, Log.VERBOSE)) {
                 Log.v(TAG, "handleSmsSent msg failed uri: " + uri);