@Override
  protected void onHandleIntent(Intent intent) {
    if (intent.getStringExtra(UPLOAD_CANCEL) != null) {
      // TODO: not completed yet ....
      Thread thread = runningTaskMap.get(intent.getStringExtra(UPLOAD_CANCEL));
      if (thread != null) {
        thread.interrupt();
      } else {
        Log.w(TAG, "Thread not found..." + runningTaskMap);
      }
      return;
    }
    final Message message =
        (Message)
            GsonUtils.getObjectFromJson(
                intent.getStringExtra(MobiComKitConstants.MESSAGE_JSON_INTENT), Message.class);
    Thread thread = new Thread(new MessegeSender(message));
    thread.start();

    if (message.hasAttachment()) {
      runningTaskMap.put(getMapKey(message), thread);
    }
  }