Fix the delivery report error

Although TP-status is PENDING or FAILED, delivery report is displayed.
Only in case of SUCCESS, it should be displayed to users.

Change-Id: I00eeed61f8797ff1d468c0bf23a7f3431ed02fae
Signed-off-by: Sang-Jun Park <sj2202.park@samsung.com>
diff --git a/src/com/android/mms/transaction/MessageStatusReceiver.java b/src/com/android/mms/transaction/MessageStatusReceiver.java
index 73a4b18..c284cc0 100644
--- a/src/com/android/mms/transaction/MessageStatusReceiver.java
+++ b/src/com/android/mms/transaction/MessageStatusReceiver.java
@@ -48,28 +48,29 @@
             Uri messageUri = intent.getData();
             byte[] pdu = (byte[]) intent.getExtra("pdu");
 
-            boolean isStatusMessage = updateMessageStatus(context, messageUri, pdu);
+            SmsMessage message = updateMessageStatus(context, messageUri, pdu);
 
             // Called on the UI thread so don't block.
-            MessagingNotification.nonBlockingUpdateNewMessageIndicator(context,
-                    true, isStatusMessage);
+            if (message.getStatus() < Sms.STATUS_PENDING)
+                MessagingNotification.nonBlockingUpdateNewMessageIndicator(context,
+                        true, message.isStatusReportMessage());
        }
     }
 
-    private boolean updateMessageStatus(Context context, Uri messageUri, byte[] pdu) {
+    private SmsMessage updateMessageStatus(Context context, Uri messageUri, byte[] pdu) {
         // Create a "status/#" URL and use it to update the
         // message's status in the database.
-        boolean isStatusReport = false;
         Cursor cursor = SqliteWrapper.query(context, context.getContentResolver(),
                             messageUri, ID_PROJECTION, null, null, null);
+        SmsMessage message = SmsMessage.createFromPdu(pdu);
+
         try {
             if (cursor.moveToFirst()) {
                 int messageId = cursor.getInt(0);
 
                 Uri updateUri = ContentUris.withAppendedId(STATUS_URI, messageId);
-                SmsMessage message = SmsMessage.createFromPdu(pdu);
                 int status = message.getStatus();
-                isStatusReport = message.isStatusReportMessage();
+                boolean isStatusReport = message.isStatusReportMessage();
                 ContentValues contentValues = new ContentValues(1);
 
                 if (Log.isLoggable(LogTag.TAG, Log.DEBUG)) {
@@ -86,7 +87,7 @@
         } finally {
             cursor.close();
         }
-        return isStatusReport;
+        return message;
     }
 
     private void error(String message) {