Exemplo n.º 1
0
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
      case R.id.cancel:
        Intent cancelIntent = new Intent(getBaseContext(), MainActivity.class);

        switch (_navigationSource) {
          case AllContacts:
            cancelIntent = new Intent(getBaseContext(), MainActivity.class);
            cancelIntent.putExtra("selectedTab", MainActivity.TAB_CONTACTS);
            break;
          case GroupContacts:
            cancelIntent = new Intent(getBaseContext(), GroupActivity.class);
            cancelIntent.putExtra("groupId", _contact.getGroupId());
            break;
          case ViewContact:
            cancelIntent = new Intent(getBaseContext(), ViewContactActivity.class);
            cancelIntent.putExtra("contactId", _contact.getId());
            break;
        }

        cancelIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        getBaseContext().startActivity(cancelIntent);
        return true;
      case R.id.update:
        if (_name.getText().toString().length() > 0) {
          String meetupId = _contact.getMeetupId();
          String name = _name.getText().toString();
          String website = _website.getText().toString();
          String contactPhotoThumbnailLocation = "";
          String link = "";
          String twitterId = "";
          String linkedInId = "";
          String facebookId = "";
          String tumblrId = "";
          String flickrId = "";

          for (int i = 0; i < _contacts.size(); i++) {
            if ((_contacts.get(i).getName().trim().toLowerCase())
                .equals(_name.getText().toString().trim().toLowerCase())) {
              meetupId = _contacts.get(i).getMeetupId();
              name = _contacts.get(i).getName();
              link = _contacts.get(i).getLink();
              twitterId = _contacts.get(i).getTwitterId();
              linkedInId = _contacts.get(i).getLinkedInId();
              facebookId = _contacts.get(i).getFacebookId();
              tumblrId = _contacts.get(i).getTumblrId();
              flickrId = _contacts.get(i).getFlickrId();

              contactPhotoThumbnailLocation = _contacts.get(i).getPhotoThumbnail();
              break;
            }
          }

          ContactDataAccess contactDataAccess = new ContactDataAccess(this);
          contactDataAccess.updateContact(
              _contact.getId(),
              meetupId,
              new byte[0],
              name,
              website,
              _email.getText().toString(),
              _phone.getText().toString(),
              _notes.getText().toString(),
              link,
              twitterId,
              linkedInId,
              facebookId,
              tumblrId,
              flickrId);

          if (contactPhotoThumbnailLocation.trim().length() > 0) {
            DownloadImageTask downloadImageTask =
                new DownloadImageTask(this, meetupId, contactPhotoThumbnailLocation);
            downloadImageTask.execute();
          }

          Intent returnIntent = new Intent(getBaseContext(), ViewContactActivity.class);
          returnIntent.putExtra("navigationSource", _navigationSource);
          returnIntent.putExtra("contactId", _contact.getId());
          returnIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

          getBaseContext().startActivity(returnIntent);

          return true;
        } else {
          Toast.makeText(this, R.string.you_need_to_provide_a_name, Toast.LENGTH_SHORT).show();
        }
    }

    return false;
  }