+        
+        /// notify final result
+        if (mSuccessCounter == mLocalPaths.length) {    // success
+            //Notification finalNotification = new Notification(R.drawable.icon, getString(R.string.uploader_upload_succeeded_ticker), System.currentTimeMillis());
+            mNotification.flags ^= Notification.FLAG_ONGOING_EVENT; // remove the ongoing flag
+            mNotification.flags |= Notification.FLAG_AUTO_CANCEL;
+            mNotification.contentView = oldContentView;
+            // TODO put something smart in the contentIntent below
+            mNotification.contentIntent = PendingIntent.getActivity(getApplicationContext(), 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT);
+            if (mLocalPaths.length == 1) {
+                mNotification.setLatestEventInfo(   getApplicationContext(), 
+                                                    getString(R.string.uploader_upload_succeeded_ticker), 
+                                                    String.format(getString(R.string.uploader_upload_succeeded_content_single), localFiles[0].getName()), 
+                                                    mNotification.contentIntent);
+            } else {
+                mNotification.setLatestEventInfo(   getApplicationContext(), 
+                                                    getString(R.string.uploader_upload_succeeded_ticker), 
+                                                    String.format(getString(R.string.uploader_upload_succeeded_content_multiple), mSuccessCounter), 
+                                                    mNotification.contentIntent);
+            }                
+            mNotificationManager.notify(R.string.uploader_upload_in_progress_ticker, mNotification);    // NOT AN ERROR; uploader_upload_in_progress_ticker is the target, not a new notification
+            
+        } else {
+            mNotificationManager.cancel(R.string.uploader_upload_in_progress_ticker);
+            Notification finalNotification = new Notification(R.drawable.icon, getString(R.string.uploader_upload_failed_ticker), System.currentTimeMillis());
+            finalNotification.flags |= Notification.FLAG_AUTO_CANCEL;
+            // TODO put something smart in the contentIntent below
+            finalNotification.contentIntent = PendingIntent.getActivity(getApplicationContext(), 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT);
+            if (mLocalPaths.length == 1) {
+                finalNotification.setLatestEventInfo(   getApplicationContext(), 
+                                                        getString(R.string.uploader_upload_failed_ticker), 
+                                                        String.format(getString(R.string.uploader_upload_failed_content_single), localFiles[0].getName()), 
+                                                        finalNotification.contentIntent);
+            } else {
+                finalNotification.setLatestEventInfo(   getApplicationContext(), 
+                                                        getString(R.string.uploader_upload_failed_ticker), 
+                                                        String.format(getString(R.string.uploader_upload_failed_content_multiple), mSuccessCounter, mLocalPaths.length), 
+                                                        finalNotification.contentIntent);
+            }                
+            mNotificationManager.notify(R.string.uploader_upload_failed_ticker, finalNotification);
+        }
+