Search in sources :

Example 1 with CardVO

use of com.chrishoekstra.trello.vo.CardVO in project Trello-Android by chrisHoekstra.

the class CardAdapter method getView.

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.card_row, null);
        holder = new ViewHolder();
        holder.nameText = (TextView) convertView.findViewById(R.id.name);
        holder.labels = new HashMap<String, View>();
        holder.labels.put(LabelVO.GREEN, convertView.findViewById(R.id.green_label));
        holder.labels.put(LabelVO.YELLOW, convertView.findViewById(R.id.yellow_label));
        holder.labels.put(LabelVO.ORANGE, convertView.findViewById(R.id.orange_label));
        holder.labels.put(LabelVO.RED, convertView.findViewById(R.id.red_label));
        holder.labels.put(LabelVO.PURPLE, convertView.findViewById(R.id.purple_label));
        holder.labels.put(LabelVO.BLUE, convertView.findViewById(R.id.blue_label));
        holder.descriptionBadge = (LinearLayout) convertView.findViewById(R.id.descriptionBadgeLayout);
        holder.commentBadge = (LinearLayout) convertView.findViewById(R.id.commentBadgeLayout);
        holder.commentBadgeCount = (TextView) convertView.findViewById(R.id.commentBadgeCount);
        holder.attachmentBadge = (LinearLayout) convertView.findViewById(R.id.attachmentBadgeLayout);
        holder.attachmentBadgeCount = (TextView) convertView.findViewById(R.id.attachmentBadgeCount);
        holder.checkItemBadge = (LinearLayout) convertView.findViewById(R.id.checkItemBadgeLayout);
        holder.checkItemBadgeCount = (TextView) convertView.findViewById(R.id.checkItemBadgeCount);
        holder.voteBadge = (RelativeLayout) convertView.findViewById(R.id.voteBadgeLayout);
        holder.voteBadgeCount = (TextView) convertView.findViewById(R.id.voteBadgeCount);
        holder.dueDateBadge = (LinearLayout) convertView.findViewById(R.id.dueDateBadgeLayout);
        holder.dueDateBadgeTime = (TextView) convertView.findViewById(R.id.dueDateBadgeTime);
        holder.notificationBadge = (LinearLayout) convertView.findViewById(R.id.notificationBadgeLayout);
        holder.notificationBadgeCount = (TextView) convertView.findViewById(R.id.notificationBadgeCount);
        holder.gravatarIcons = (LinearLayout) convertView.findViewById(R.id.gravatar_icons);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }
    for (Entry<String, View> labelEntry : holder.labels.entrySet()) {
        labelEntry.getValue().setVisibility(View.GONE);
    }
    CardVO card = mCards.get(position);
    if (card != null) {
        holder.nameText.setText(card.name);
        for (LabelVO label : card.labels) {
            holder.labels.get(label.color).setVisibility(View.VISIBLE);
        }
        holder.descriptionBadge.setVisibility(card.badges.description ? View.VISIBLE : View.GONE);
        holder.commentBadge.setVisibility(card.badges.comments > 0 ? View.VISIBLE : View.GONE);
        holder.commentBadgeCount.setText(card.badges.comments + "");
        holder.attachmentBadge.setVisibility(card.badges.attachments > 0 ? View.VISIBLE : View.GONE);
        holder.attachmentBadgeCount.setText(card.badges.attachments + "");
        holder.checkItemBadge.setVisibility(card.badges.checkItems > 0 ? View.VISIBLE : View.GONE);
        holder.checkItemBadgeCount.setText(card.badges.checkItemsChecked + "/" + card.badges.checkItems);
        holder.voteBadge.setVisibility(card.badges.votes > 0 ? View.VISIBLE : View.GONE);
        holder.voteBadgeCount.setText(card.badges.votes + " " + (card.badges.votes > 1 ? mVotesString : mVoteString));
        holder.dueDateBadge.setVisibility(((card.badges.due != null) && (!card.badges.due.equals(""))) ? View.VISIBLE : View.GONE);
        try {
            holder.dueDateBadgeTime.setText(((card.badges.due != null) && (!card.badges.due.equals(""))) ? mDateFomat.format(mDateTimeFormatter.parseDateTime(card.badges.due).toDate()) : "");
        } catch (Exception e) {
            e.printStackTrace();
            Log.w("Fucked up date", card.badges.due);
            holder.dueDateBadgeTime.setText("?");
        }
        int count = mModel.getNotificationCount(card.id);
        holder.notificationBadge.setVisibility(count > 0 ? View.VISIBLE : View.GONE);
        holder.notificationBadgeCount.setText(count + "");
        if ((card.idMembers != null) && (card.idMembers.size() > 0)) {
            holder.gravatarIcons.setVisibility(View.VISIBLE);
            holder.gravatarIcons.removeAllViews();
            for (String id : card.idMembers) {
                GravatarView gravatar = new GravatarView(getContext());
                holder.gravatarIcons.addView(gravatar);
                gravatar.getLayoutParams().height = (int) mThirtyDp;
                gravatar.getLayoutParams().width = (int) mThirtyDp;
                gravatar.setDefaultImageType(GravatarAPI.DEFAULT_IMAGE_404);
                gravatar.setAvatarURL(GravatarAPI.getAvatarURLById(mModel.getGravatarId(id)));
            }
        } else {
            holder.gravatarIcons.setVisibility(View.GONE);
        }
    }
    return convertView;
}
Also used : CardVO(com.chrishoekstra.trello.vo.CardVO) LabelVO(com.chrishoekstra.trello.vo.LabelVO) GravatarView(com.chrishoekstra.trello.gravatar.GravatarView) ImageView(android.widget.ImageView) TextView(android.widget.TextView) GravatarView(com.chrishoekstra.trello.gravatar.GravatarView) View(android.view.View)

Example 2 with CardVO

use of com.chrishoekstra.trello.vo.CardVO in project Trello-Android by chrisHoekstra.

the class CardActivity method populateView.

private void populateView() {
    CardVO card = mModel.getCard(mBoardListId, mCardId);
    mNameText.setText(card.name);
    mDescriptionText.setText(card.desc);
}
Also used : CardVO(com.chrishoekstra.trello.vo.CardVO)

Example 3 with CardVO

use of com.chrishoekstra.trello.vo.CardVO in project Trello-Android by chrisHoekstra.

the class TrelloService method getCardsByBoardList.

public ArrayList<CardVO> getCardsByBoardList(String boardListId) {
    ArrayList<CardVO> result = null;
    ArrayList<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
    params.add(new BasicNameValuePair("key", PUBLIC_KEY));
    params.add(new BasicNameValuePair("token", mToken));
    params.add(new BasicNameValuePair("filter", "open"));
    params.add(new BasicNameValuePair("badges", "true"));
    params.add(new BasicNameValuePair("labels", "true"));
    params.add(new BasicNameValuePair("members", "true"));
    HttpGet httpGet = new HttpGet(TRELLO_API_URL + "lists/" + boardListId + "/cards?" + URLEncodedUtils.format(params, "UTF-8"));
    HttpClient httpClient = getHttpClient();
    try {
        httpGet.setHeader("Accept", "application/json, text/javascript, */*; q=0.01");
        httpClient.getParams().setParameter(CoreProtocolPNames.USER_AGENT, USER_AGENT_STRING);
        HttpResponse response = httpClient.execute(httpGet, mContext);
        if (response != null) {
            result = mObjectMapper.readValue(mJsonFactory.createJsonParser(new InputStreamReader(response.getEntity().getContent(), "UTF-8")), new TypeReference<ArrayList<CardVO>>() {
            });
        }
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return result;
}
Also used : InputStreamReader(java.io.InputStreamReader) BasicNameValuePair(org.apache.http.message.BasicNameValuePair) HttpGet(org.apache.http.client.methods.HttpGet) DefaultHttpClient(org.apache.http.impl.client.DefaultHttpClient) HttpClient(org.apache.http.client.HttpClient) ArrayList(java.util.ArrayList) CardVO(com.chrishoekstra.trello.vo.CardVO) HttpResponse(org.apache.http.HttpResponse) TypeReference(org.codehaus.jackson.type.TypeReference) IOException(java.io.IOException) ClientProtocolException(org.apache.http.client.ClientProtocolException)

Example 4 with CardVO

use of com.chrishoekstra.trello.vo.CardVO in project Trello-Android by chrisHoekstra.

the class BoardListActivity method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.board_list);
    // Instantiate view items
    mCardList = (ListView) findViewById(R.id.card_list);
    mBoardListText = (TextView) findViewById(R.id.board_list);
    mAddCardEdit = (EditText) findViewById(R.id.add_card_edit);
    mAddCardButton = (Button) findViewById(R.id.add_card);
    mAddButton = (Button) findViewById(R.id.add);
    mCancelButton = (Button) findViewById(R.id.cancel);
    mAddCardLayout = (RelativeLayout) findViewById(R.id.add_card_layout);
    // Instantiate models
    mModel = TrelloModel.getInstance();
    // Instantiate controllers
    mController = TrelloController.getInstance();
    // Create listeners
    mOnCardsReceivedListener = new TrelloModel.OnCardsReceivedListener() {

        @Override
        public void onCardsRecivedEvent(TrelloModel model, String boardListId, ArrayList<CardVO> result) {
            mCardAdapter = new CardAdapter(BoardListActivity.this, R.id.name, result, model);
            mCardList.setAdapter(mCardAdapter);
        }
    };
    mOnCardAddedListener = new TrelloModel.OnCardAddedListener() {

        @Override
        public void onCardAddedEvent(TrelloModel model, Boolean result) {
            if (result) {
                Toast.makeText(BoardListActivity.this, "Card added!", Toast.LENGTH_SHORT).show();
                mController.getCardsByList(mBoardListId);
            } else {
                Toast.makeText(BoardListActivity.this, "Card addition failed!", Toast.LENGTH_SHORT).show();
            }
            endAddCard();
        }
    };
    mCardList.setOnItemClickListener(new ListView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> listView, View view, int position, long id) {
            Intent intent = new Intent(getParent(), CardActivity.class);
            intent.putExtra(BundleKeys.CARD_ID, mCardAdapter.getItem(position).id);
            intent.putExtra(BundleKeys.BOARD_LIST_ID, mBoardListId);
            ((TabActivityGroup) getParent()).startChildActivity("CardActivity", intent);
        }
    });
    mAddCardButton.setOnClickListener(new Button.OnClickListener() {

        @Override
        public void onClick(View v) {
            beginAddCard();
        }
    });
    mCancelButton.setOnClickListener(new Button.OnClickListener() {

        @Override
        public void onClick(View v) {
            endAddCard();
        }
    });
    mAddButton.setOnClickListener(new Button.OnClickListener() {

        @Override
        public void onClick(View v) {
            mController.addCard(mBoardListId, mAddCardEdit.getText().toString());
        }
    });
    // Add listeners
    mModel.addListener(mOnCardsReceivedListener);
    mModel.addListener(mOnCardAddedListener);
    // Get bundle extras
    getBundleExtras((savedInstanceState != null) ? savedInstanceState : getIntent().getExtras());
    // Instantiate activity variables
    mController.getCardsByList(mBoardListId);
    populateView();
}
Also used : CardVO(com.chrishoekstra.trello.vo.CardVO) Intent(android.content.Intent) View(android.view.View) AdapterView(android.widget.AdapterView) TextView(android.widget.TextView) ListView(android.widget.ListView) ListView(android.widget.ListView) Button(android.widget.Button) TrelloModel(com.chrishoekstra.trello.model.TrelloModel) CardAdapter(com.chrishoekstra.trello.adapter.CardAdapter)

Aggregations

CardVO (com.chrishoekstra.trello.vo.CardVO)4 View (android.view.View)2 TextView (android.widget.TextView)2 Intent (android.content.Intent)1 AdapterView (android.widget.AdapterView)1 Button (android.widget.Button)1 ImageView (android.widget.ImageView)1 ListView (android.widget.ListView)1 CardAdapter (com.chrishoekstra.trello.adapter.CardAdapter)1 GravatarView (com.chrishoekstra.trello.gravatar.GravatarView)1 TrelloModel (com.chrishoekstra.trello.model.TrelloModel)1 LabelVO (com.chrishoekstra.trello.vo.LabelVO)1 IOException (java.io.IOException)1 InputStreamReader (java.io.InputStreamReader)1 ArrayList (java.util.ArrayList)1 HttpResponse (org.apache.http.HttpResponse)1 ClientProtocolException (org.apache.http.client.ClientProtocolException)1 HttpClient (org.apache.http.client.HttpClient)1 HttpGet (org.apache.http.client.methods.HttpGet)1 DefaultHttpClient (org.apache.http.impl.client.DefaultHttpClient)1